Linuxブートパーティションを別のドライブまたはパーティションに移動し、そこから起動できますか?

Linuxブートパーティションを別のドライブまたはパーティションに移動し、そこから起動できますか?

動作中のブートパーティション/ルートファイルシステムを別のドライブ/パーティションに移動し、そこから起動できますか?

または、デバイス名が変更され、システムの動作が停止しますか?

答え1

はい、可能です。それも簡単ではありません。個々の/bootパーティションおよび/またはパーティションを移動する場合は、/まずfstabエントリの変更を検討する必要があります。

cp -pファイルを新しいパーティションに移動する場合は、コピー時に権限を維持するためにを使用することを忘れないでください。次に、/etc/fstab使用するパーティションの新しいUUIDを調整します。blkid /dev/sdXnXはドライブ名で、nはパーティション数を実行してパーティションuuidを取得できます。

また、blkidを使用してパーティションにラベルを貼り付けてからラベルからマウントすることができ、man blkidより簡単に詳細な情報を読むことができます。

パーティションを変更して /etc/fstab を調整した後update-grub- available on Debian/Ubuntu スクリプトを実行するか、grub-mkconfig -o /boot/grub/grub.cfg新しい設定ファイルを作成し、ボットがある最初のハードドライブに grub を再インストールする必要があります。grub-install --recheck /dev/sda

もちろん、コピー中に新しい/または/bootパーティションを/mntにマウントし、すべてのファイルをコピーしてから/および/boot chrootとしてマウントすることを忘れないでください。正しく実行するには、次のようにします。グラップアップデートを実行してください。

答え2

/etc/fstabたとえば、UUID(および展開に関連する他の関連ファイル)を使用して/dev/disk/by-uuid/57c59366-9196-4613-ba53-5ad24dcecfb9カーネルブートパーティションを移動するときにブートローダ設定を調整すると、うまく機能します。

答え3

私は死に近い古いMBRスタイルのディスクにインストールされたDebian Stretchを移動し、GPTを持つ新しいディスクにOSを移動するために私がしたことに言及したかったのです。私の場合、ESP(EFIシステムパーティション)は古いディスクに存在するため、UEFIを使用して起動しました。私はすでにin1t3rユーザーが上記で提供した答えに従いました。

  1. USBから分離されたリアルタイム情報を取得する
  2. gparted liveから始めて古いドライブを選択し、パーティションを選択し、パーティションをコピーし、新しい
    ドライブを選択し、パーティションを貼り付けて変更を保存します。ルート(および起動)およびESP(EFIシステムパーティション)に対してこれを行います。
  3. 古いドライブからオペレーティングシステムに正常に起動します。
  4. sudo gdiskを実行して新しい/ dev / sdXと入力したら、ESPパーティションがef00に正しく設定されていないことを確認してください。 (?または「help」コマンドを使用)
  5. sudo blkidコマンドを使用して、新しいドライブにコピーされたパーティションのUUIDを確認します。 (blkidはe2fsprogsパッケージの一部です。)
  6. UUIDが古いパーティションと異なる場合は、新しいドライブにコピーされた新しいパーティションのUUIDを変更し、
    tune2fs -U random /dev/sdXyコマンドを使用します。
    実行するように求められたら、e2fsck -f /dev/sdbXy を実行して une2fs を実行します。
  7. 新しいドライブパーティションをマウントするには、マウントポイントディレクトリ「/newpart」を作成します。
  8. 新しいドライブオペレーティングシステムのルート(および起動)パーティションをマウントします。
    a) root drv sudo mount /dev/sdbXx /newpart
    b) ESP drv sudo mount /dev/sdbXy /newpart/boot/efi
  9. 新しいグルーブを更新して作成する必要がありますが、これを行うには
    '/newpart' dev、proc、sysからルートマウントdev、proc、sysとして新しいパーティションにchrootする必要があります
    。 sudo mount --rbind /dev /newpart/dev
    sudo mount - -rbind /proc /newpart/proc
    sudo マウント --rbind /sys /newpart/sys
  10. 新しいOS部分(/newpart/etc/fstab)で/etc/fstabを変更し、古いOS部分がルート(/)を指すように変更し、新しいUUID(存在する場合)から起動します。
    UUID=[new-part-UUID] 、前の部分をコメントアウトします。
  11. '/newpart'でchroot、sudo chroot /newpart

  12. a) grub-install --recheck
    c) update-grub
    b) grub-install --recheck
    d) シャットダウン (chroot でシャットダウン) 実行
  13. dev , proc , sys
    の削除newpart /dev sudo umount -R /newpart/sys sudo umount -R /newpart/proc sudo umount -R /newpart/dev sudo umount /newpart





  14. 以前のOS /etc/fstabがルート(/)を指すように変更し、ブートIDが以前のように存在します(新しいディスクで変更しないように注意してください)。
  15. 再起動、
  16. UEFI-BIOS を入力し、新しいディスクをブート優先順位として選択します。
  17. 新しいドライブESPで再起動すると、Grubメニューが表示され、最初のメニューウィザードに入ります。新しいドライブのオペレーティングシステム。
    (2番目のメニューは古いドライブのオペレーティングシステム用です。)

関連情報