トラブルシューティング

トラブルシューティング

既存の Ubuntu Trusty (14.04.1) システム (PPA からインストールしたアプリを含む) を SSD に転送したいと考えています。既存のホーム ディレクトリをハード ディスク上に保持したいのですが。最善の方法は何でしょうか。できれば Ubuntu を再インストールしない方法がよいでしょうか。

答え1

ライブ メディアから起動する場合は、次の 3 つの手順に分けられます。

  1. オペレーティングシステムのデータを新しいドライブにコピーする

    始める前に、新しいドライブに正しいパーティションテーブルGPT は (主に) EFI 用であり、ブートローダー用の特別なパーティションが必要です。MBR インストールでは、新しいオペレーティング システム パーティションをブート可能としてマークすることを忘れないでください。

    ライブ メディアから rsync を使用することが、ファイルをコピーするための最も実用的なソリューションです。

    sudo rsync -av --exclude=/home/* /media/$mountpoint_of_old_drive/ /media/$mountpoint_of_new_drive/
    
  2. 新しいドライブにブートローダーをインストールする

    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、新しいドライブにE​​FIシステムパーティション(ESP)を作成し、ESPがマウントされていることを確認してください/media/$mountpoint_of_new_drive/boot/efi(または--efi-directoryオプションを使用してください。grub-install マニュアルページ)。

  3. 設定を更新する

    /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ただし、行を置き換える前に、 +KCtrl+ を押してコピーを作成することをお勧めしますU。ホームはまだ古いドライブ上にあるため、古い UUID は正しいはずなので、マウントポイントを(ユーザーのホーム ディレクトリの名前に/home/$your_username置き換えます) に更新し、いくつかのオプション (最後の と に注意してください)を追加するだけで済みます。$your_usernamerelatime,acl2

    # 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パーティション番号です。

関連情報