揮発性のメモ2

知識をメモ書きしておく

VirtualBoxで仮想マシンをコピーしようとしたらHDDにエラーが見つかって大変だった

ある仮想マシンを1台コピーすることになった
VirtualBoxマネージャーからクローンを実施したところ、エラーが発生した

f:id:iww:20200904141716p:plain
Could not create the clone medium '/data/virtualbox/hogehoge/hogehoge-disk1.vmdk' (VERR_DEV_IO_ERROR).

DEV_IO_ERROR とか出ているが、さっきまで動いてたHDDイメージだし まあ気のせいだと判断
代わりにエクスポートを試みるも、同じエラーが発生

面倒だと思いつつ、一応保全のために 仮想マシンディレクトリごと丸々 tarで固めようとしたところ

$ tar zcf /tmp/hogehoge.tar.gz hogehoge/
tar: hogehoge/hogehoge-disk001.vmdk: 169689088 バイト小さくなったので、ゼロで埋めます

なんだそのエラー 初めて見たぞ
tar のエラーメッセージ tar: path/file: %lld バイト小さくなったので、ゼロで埋めます - tar 送り側で I/O エラーが原因だった | ふるた技工所(てっこうしょ) - 楽天ブログ

嫌な予感がしたので、イメージを単体でコピーしてみると

$ cp hogehoge-disk01.vmdk /tmp/
cp: 'hogehoge-disk01.vmdk' の読み込みエラー: 入力/出力エラーです

ちょうどこのファイルのどこかのセクタがイカれているっぽい。

しかたがないので、ddでエラーを飛ばしてコピーをし保全する

$ dd if=hogehoge-disk01.vmdk of=/mnt/hogehoge-disk01.vmdk conv=sync,noerror

dd でディスクをコピーするよく使う例 - それマグで!


当然こんなのは一時しのぎもいいところなので、
台風の中 HDDを大急ぎで買いに行かねばならなくなった。