既存のUbuntu Trusty(14.04.1)システム(PPAからインストールされたアプリを含む)をSSDに転送したいと思います。既存のホームディレクトリをハードディスクに保持したい)。最善の方法は何ですか?できればUbuntuの再インストールを伴わない方法が望ましいですか?
ライブメディアから起動する場合、これは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をインストールしている場合は、Sudo apt-get install grub-efi-AMD64
を実行してEFIモードでライブメディアを起動し、新しいドライブにEFIシステムパーティション(ESP)を作成し、ESPが/media/$mountpoint_of_new_drive/boot/efi
にマウントします(または--efi-directory
オプションを使用します grub-install manpage をご覧ください)。
設定を更新します
/etc/fstab
の/
のUUIDを更新する必要があります。 Sudo blkid /dev/sdXY
を実行して新しいオペレーティングシステムパーティションのUUIDを取得し、引用符なしで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 そして終了 Ctrl+X。
個々のホームディレクトリを個別のhome
- partition(これは、ユーザーのホームディレクトリが/home
としてマウントされている単なるパーティションに移動することを検討する必要があります。 fstab
、もう一度Sudo rsync -av
を使用してデータをコピーできます。 既に/パーティションの一部である場合、/ homeディレクトリを別のパーティションに移動するにはどうすればよいですか? )この方法でユーザーごとに新しい行を作成します。
SSDに新しいswapパーティションを作成した場合は、これの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
を実行し、hibernationが再び機能するように再起動する必要があります。
EFIインストールの場合も、fstabのESPのマウントポイントも更新することを忘れないでください。
複雑に見えますが、実行するのは簡単で、詳細を説明するのは難しくて時間がかかります。
ヒント:GRUBがSudo apt-get install grub-efi-AMD64
について何かを言うときに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
oldインストールから起動し、Sudo update-grub
を実行します。os-proberは他のパーティションで新しいインストールを見つけ、GRUBエントリを追加します。
Sudo update-grub
を実行して、SSDのGRUB構成を更新および修正します。efibootmgr -c -d /dev/sdX -p Y -l \EFI\ubuntu\grubx64.efi -L "Ubuntu"
を実行して、新規/転送されたインストール用のブートローダーを新しいブートオプションとしてUEFI NVRAMに追加します。 /dev/sdX
は新しいハードドライブのデバイス名、Y
はパーティション番号です。