
既存の Ubuntu Trusty (14.04.1) システム (PPA からインストールしたアプリを含む) を SSD に転送したいと考えています。既存のホーム ディレクトリをハード ディスク上に保持したいのですが。最善の方法は何でしょうか。できれば Ubuntu を再インストールしない方法がよいでしょうか。
答え1
ライブ メディアから起動する場合は、次の 3 つの手順に分けられます。
オペレーティングシステムのデータを新しいドライブにコピーする
始める前に、新しいドライブに正しいパーティションテーブルGPT は (主に) EFI 用であり、ブートローダー用の特別なパーティションが必要です。MBR インストールでは、新しいオペレーティング システム パーティションをブート可能としてマークすることを忘れないでください。
ライブ メディアから rsync を使用することが、ファイルをコピーするための最も実用的なソリューションです。
sudo rsync -av --exclude=/home/* /media/$mountpoint_of_old_drive/ /media/$mountpoint_of_new_drive/
新しいドライブにブートローダーをインストールする
sudo grub-install --boot-directory /media/$mountpoint_of_new_drive/boot /dev/sdX
/dev/sdX
新しいドライブの実際のデバイス名に変更する必要があります。MBRではなくEFIインストールの場合は、ライブメディアをEFIモードで起動し、を実行し
sudo apt-get install grub-efi-amd64
、新しいドライブにEFIシステムパーティション(ESP)を作成し、ESPがマウントされていることを確認してください/media/$mountpoint_of_new_drive/boot/efi
(または--efi-directory
オプションを使用してください。grub-install マニュアルページ)。設定を更新する
/etc/fstab
のUUID を更新する必要があります/
。 を実行して新しいオペレーティング システム パーティションの UUID を取得しsudo blkid /dev/sdXY
、引用符なしで UUID をコピーして を実行し、sudo nano /media/$mountpoint_of_new_drive/etc/fstab
次のような行で既存の UUID を置き換えます。# / was on /dev/sda2 during installation UUID=a7aea81b-0e7f-4ec0-8be4-b0ec75c13fdc / ext4 errors=remount-ro 0 1
Ctrlただし、行を置き換える前に、 +KとCtrl+ を押してコピーを作成することをお勧めしますU。ホームはまだ古いドライブ上にあるため、古い UUID は正しいはずなので、マウントポイントを(ユーザーのホーム ディレクトリの名前に
/home/$your_username
置き換えます) に更新し、いくつかのオプション (最後の と に注意してください)を追加するだけで済みます。$your_username
relatime,acl
2
# Mountpoint for home or user partition UUID=063a996a-0303-42b2-b719-af920fd105fa /home/$your_username ext4 relatime,acl 0 2
Ctrl+で保存し、 +Oで終了します。CtrlX
個々のホームディレクトリを別の場所に移動することを検討する必要があります。
home
-パーティション/home
(これは、のようにマウントされたユーザーのホームディレクトリを持つパーティションであり、データのコピーに再度fstab
使用できます。sudo rsync -av
/home ディレクトリがすでに / パーティションの一部である場合、それを別のパーティションに移動するにはどうすればよいでしょうか?) 、この方法ではユーザーごとに新しい行を作成する必要があるためです。新しいスワップパーティションSSD では、これも UUID を更新する必要があります。
# SSD swap UUID=b7c315cb-cf89-463b-888a-185a1faa8250 none swap sw 0 0
さらに、新しいドライブから初めて起動した後に を
/media/$mountpoint_of_new_drive/etc/initramfs-tools/conf.d/resume
実行し、再起動して、スワップパーティションのUUIDを更新する必要があります。sudo update-initramfs -k all -u
冬眠再び作業中。マウントポイントも更新することを忘れないでください超能力EFI インストールの場合は fstab にも記載されます。
複雑に見えますが、実行するのは簡単です。ただ、詳細に説明するのは難しくて時間がかかります。
トラブルシューティング
grub-install が何らかの理由で UEFI でインストールに失敗する
sudo apt-get install grub-efi-amd64
ヒント: GRUB が について何か言っているときに、実行を忘れた可能性がありますi386-pc
。
/
ルート ( ) パーティションの内容を も含めてコピーしました/boot
か?ESP のコンテンツをコピーしましたか? まだコピーしていない場合はコピーしてください。
新しい ESP を編集します
EFI/ubuntu/grub.cfg
。UUID を新しいルート パーティションの UUID に置き換えるだけで十分ですが、そうでない場合は、hd0,gpt2
この例の部分もそれに応じて変更します。ファイルの内容は通常、次のようになります。search.fs_uuid a7aea81b-0e7f-4ec0-8be4-b0ec75c13fdc root hd0,gpt2 set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg
ブートから古いインストール、を実行すると
sudo update-grub
、os-prober は他のパーティション上の新しいインストールを見つけて、GRUB エントリを追加します。- この新しいエントリを起動します。
- これで SSD から起動するはずです。
sudo update-grub
ここでもう一度実行して、SSD 上の GRUB 構成を更新して修正します。
- 実行して
efibootmgr -c -d /dev/sdX -p Y -l \EFI\ubuntu\grubx64.efi -L "Ubuntu"
、新規/転送されたインストール用のブート ローダーを UEFI NVRAM への新しいブート オプションとして追加します。/dev/sdX
は、新しいハードドライブのデバイス名、Y
パーティション番号です。