Ubuntuのデータを別のDiskへコピーする HDDのお引越しをしました。(sdbからsdaへ引っ越し)
環境: Ubuntu 14.04 LTS 32bit
必要なもの: LiveCDもしくはLiveUSB, 現在使用しているデータ量より大きいDisk(パーティション)
0. 事前準備
LiveCD もしくは LiveUSB(以下、LiveCD) を準備します。
現在使用しているデータ量よりも大きいext4フォーマット済みのパーティション(Disk)を用意します。
1. rsyncでコピー
LiveCD で起動して移行前、移行後のパーティションをそれぞれマウントします。
マウントできたらrsyncでコピーします。
予めパーティションにラベルをつけておくとコマンドで指定するパスが短くなるのでお勧めです。
rsync -aAXHxShv --append --partial --timeout=600 --bwlimit=0 \ --stats --progress --preallocate \ /media/ubuntu/Ubuntu/ \ /media/ubuntu/ba00bbb9-28d9-47c7-9086-02992c2e679e
この例では Ubuntu パーティション(移行前)から、新しいパーティション(ラベルなしのためマウントポイントにUUIDが使用されている) へコピーしています。
2. /etc/fstab 修正
移行後のパーティションからUbuntuを起動するために、/etc/fstabのエントリを新しいパーティションへ変更します。
まず、UUIDを調べます。
root@ubuntu:~# blkid (一部抜粋) /dev/loop0: LABEL="Ubuntu 14.04 ja amd64" TYPE="iso9660" /dev/loop1: TYPE="squashfs" /dev/sda1: UUID="ba00bbb9-28d9-47c7-9086-02992c2e679e" TYPE="ext4" /dev/sda6: UUID="17230e9d-98ef-45ed-b173-2f5351864bbb" TYPE="swap" /dev/sdb1: LABEL="Ubuntu" UUID="09851018-3599-44da-abda-c5962e23c880" TYPE="ext4" /dev/sdb6: UUID="119615e5-048e-44f4-a066-7dbd1f44032e" TYPE="swap"
swapパーティションも忘れずに変更してください。
root@ubuntu:~# cat /media/ubuntu/ba00bbb9-28d9-47c7-9086-02992c2e679e/etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc nodev,noexec,nosuid 0 0 # / was on /dev/sda1 during installation UUID=ba00bbb9-28d9-47c7-9086-02992c2e679e / ext4 errors=remount-ro 0 1 # swap was on /dev/sda6 during installation UUID=17230e9d-98ef-45ed-b173-2f5351864bbb none swap sw 0 0
3. grub2のインストール
新しいDiskから起動できるようにgrub2をインストールします。
このままではインストールできないので、新しいパーティションへchrootします。
その際に、/proc や /dev, /sys などを新しいパーティション配下へbindしてあげます。
root@ubuntu:~# mount --bind /proc /media/ubuntu/ba00bbb9-28d9-47c7-9086-02992c2e679e/proc root@ubuntu:~# mount --bind /dev /media/ubuntu/ba00bbb9-28d9-47c7-9086-02992c2e679e/dev root@ubuntu:~# mount --bind /sys /media/ubuntu/ba00bbb9-28d9-47c7-9086-02992c2e679e/sys root@ubuntu:~# chroot /media/ubuntu/ba00bbb9-28d9-47c7-9086-02992c2e679e/
chrootできたらgrub2をインストールします。
インストールした後に update-grub を実行してエントリを更新します。
root@ubuntu:/# grub-install /dev/sda Installing for i386-pc platform. Installation finished. No error reported. root@ubuntu:/# update-grub Generating grub configuration file ... Linux イメージを見つけました: /boot/vmlinuz-3.13.0-45-generic Found initrd image: /boot/initrd.img-3.13.0-45-generic Linux イメージを見つけました: /boot/vmlinuz-3.13.0-44-generic Found initrd image: /boot/initrd.img-3.13.0-44-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin
4. 再起動
LiveCDを終了してPCを再起動したら新しいパーティションから起動できます。