[debian-users 00024] Re: システムドライブのHDD入れ替えについて
Masaaki Matsuo
masaaki @ m20.jp
2016年 12月 4日 (日) 00:59:48 JST
こんにちは、松尾です。
debianのシステムドライブを新しいHDDに置換+ext4へコンバートを行いました。
次の手順でうまくいきました。
- debianをshutdown
- 新しいHDDを接続
- GParted Live on USBを起動
(http://gparted.org/)
- gpartedでコピー先にパーティションテーブルを作成する
- gpartedでシステムドライブのパーティションをコピーする
- システムパーティション(/dev/sda1)
- swapパーティション(/dev/sda5)
- gpartedでパーティションのサイズなどを調整する
- gpartedでbootフラグを付ける(省略可?)
- ext4にコンバート
- ターミナルを起動, sudo suでrootに
- tune2fs -O extents,uninit_bg,dir_index,has_journal /dev/sd?1
- gpartedでfsck
- grub2書き込み
- mount /dev/sd?1 /mnt
- mount --bind /dev /mnt/dev
- mount --bind /proc /mnt/proc
- chroot /mnt
- update-grub2
- grub-install /dev/sd?
- shutdown、GParted Live終了
- 古いHDDを取り出し、新しいHDDと入れ替え
- 新しいHDDで起動
- 新しいHDD内の/etc/fstabのrootfsをext3からext4に書き換える
- 念のためgrub2書き込み
- update-grub2
- grub-install /dev/sda
- initfsのアップデート
- update-initramfs -u
- 再起動を試す(完了)
[注]
- ext4ドライバでext3をrwできる
- initfsのアップデートは後でもok
- /etc/fstabの書き換えは変更後でもok
ext3と書いていてもext4としてマウントされるようだ
- https://mag.osdn.jp/15/11/04/153000
Linuxカーネル4.3リリース、ext3ドライバが廃止され
ext4ドライバでのサポートに変更される
- チェック
$ find /lib/modules/`uname -r` -print | grep ext3
$ find /lib/modules/`uname -r` -print | grep ext4
/lib/modules/4.6.0-1-amd64/kernel/fs/ext4
/lib/modules/4.6.0-1-amd64/kernel/fs/ext4/ext4.ko
$ lsinitramfs /boot/initrd.img-`uname -r`* | grep ext3
sbin/fsck.ext3
$ lsinitramfs /boot/initrd.img-`uname -r`* | grep ext4
lib/modules/4.6.0-1-amd64/kernel/fs/ext4
lib/modules/4.6.0-1-amd64/kernel/fs/ext4/ext4.ko
- initfsにfsck.ext4がないため
hdd入れ替えた後起動時に次のエラーが出る(ただしちゃんと起動する)
fsck: error 2 (No such file or directory) while executing fsck.ext4
for /dev/sda1
fsck exited with status code 8
- Gparted Liveでgrub2の書き込み時にメッセージが出ていたがokだった
(私の環境では偶然うまくいって大丈夫だっただけかもしれない)
今まではドライブの全コピーで済ませていたので
ファイルシステムの変更はかなりドキドキでした。
grubとinitfsは調べてなかったら失敗したかもしれません。
同じようなことをやる方は少ないかもしれませんがご参考までに。
お騒がせしました。
debian-users メーリングリストの案内