LinuxのOSアップグレードで「Buffer I/O error on device sr0,logical block」が出る場合について
0,目次
- 初めに
- 原因
- 対処法
- 終わりに
- 参考文献
1,初めに
前提条件は下記の通りです。
あくまでも筆者が遭遇した事象に過ぎませんので、参考程度にしてください。
- 某LinuxのOSアップグレード
- オンラインリポジトリは使わず、
DVD内にあるリポジトリ及びパッケージファイルを用いたアップグレード - 仮想マシンへマウントするISOイメージが「片面2層DVD」(4.7GBよりも大きなISOイメージ)
- root権限を行使可能
上記環境下で、Linux OSのアップグレードを実施したところ、
下記のエラー等によりアップグレードが中断されました。
Buffer I/O error on device sr0,logical block
また、このエラーでOSアップグレードが中断された際の、
Linuxカーネルのメッセージには下記が出力されていました(dmesgコマンドにて確認)。
attempt to access beyond end of device
本稿ではOSのアップグレードが中断した原因及び対処法を記載します。
2,原因
(1)原因
片面2層DVDとしてマウントされるべきアップグレード用メディアが、片面1層DVDとしてマウントされていました。
(2)確認方法
dfコマンド等でマウントされたDVDメディアのサイズを確認してください。
片面2層のisoイメージが正しくマウントされた場合、
インストールメディアのサイズ(4GBよりも大きいサイズ)でマウントされているはずです。
筆者が遭遇した環境では、片面1層のDVDとしてマウントされていたため、
ISOイメージのサイズよりも少ない最大サイズのデバイスとしてマウントされていました。
3,対処法
(1)特権ユーザ(root)へ切り替え
sudo su -
(2)メディアのアンマウント
/mntなどに片面1層DVDとしてマウントされたISOイメージをアンマウントします。
コマンド例は下記の通りです。
umount /mnt/isoイメージをマウントした先のパス
(3)ISOイメージをDVD2層メディアとして再度マウント
筆者の遭遇した事象では、下記コマンドで2層DVDとしてマウントされました。
mount -t iso9660 /dev/sr0 /mnt/isoイメージのマウント先へのパス
(4)マウントされた事の確認
dfコマンドなどを使用し、マウントされたサイズ等を確認してください。
少なくとも、4GBよりも大きなサイズになっていれば、正しく2層DVDとしてマウントされたと言えます。
4,終わりに
LinuxのOSアップグレードとかインターネット経由でやればいいのにな。
5,参考文献
- ブロック型デバイスへのI/O要求処理で、物理容量を越えた要求が検知されたというメッセージ – ZDNet Japan
- Ubuntu日本語フォーラム / ライブCD起動でエラーメッセージ
- buffer i/o error on device sr0 – CentOS
最近のコメント