MBR/BIOSをGPT/UEFIに変換(情報ダンプ)

MBR/BIOSをGPT/UEFIに変換(情報ダンプ)

1.5TB HDDを4TB SSDにアップグレードしたかったのですが、私が見つけたインターネットリソースのどれも最初から最後まで私の状況と正確に一致しておらず、最終的に動作するのに約20時間かかりました。ここの将来の旅行者のために。

答え1

基本的な詳細:Ubuntu 20.04.6を実行している古いDell Inspiron 5720があります。 1.5TB HDDから始めて、後で4TB SSDを購入しました。以前のドライブで使用していたパーティションテーブルMBRが2TBを超えるパーティションをサポートしていないことを発見し、GPTに切り替える必要がありました。明らかに、これにはほとんど必然的にブートシステムをBIOSからUEFIに切り替える必要があります。これは実際に問題の主な原因です。 (UEFIのインストールが破損したという証拠があり、問題が複雑になる可能性があります。)

プロセスを支援するために、Kali LinuxをUSBスティックにコピーしました。詳細については、ステップのリストを開始する場所にスキップしてください。詳細は、人々が自分の問題が何であるかを把握するのに役立つように、残りの内容と行を括弧内に入れました。

私が最初に試したことは次のとおりです。動作しない
使用していないときは、パーティションをめまいにする方が安全になりそうで、USBを起動してみました。私はSSDを接続するためにアダプタを使用します。 gpartedを開いて記憶が正しい場合は、SSDにGPTパーティションテーブルを作成しました。次に(gpartedで)HDDを選択し、最初のパーティションをコピーし、SSDを選択して貼り付け、2番目のパーティションに対して同じことを行います。 UEFIガイドを読んだ後、UEFIパーティションの最後に3番目のパーティションを作成したことがあります。また、最初の試行が失敗したときにそのパーティションを追加した可能性があります。その後、コピーが完了するのを待って(約4時間)、コンピュータをシャットダウンしてハードドライブを交換してから起動しようとしました。サイコロがありません。私の考えでは、エラーは「オペレーティングシステムがない」か、修正に近いエラーだと思います。簡単に言えば、私は多くのことを試すのに数時間を費やしましたが、そのうち何も効果がありませんでした。その後、プランBに方向を変えました。

プランBがついに成功しました。
ほとんどのガイドでは、変換したいシステムで起動できることを期待していたので、まずドライブを交換してUSBから起動し、HDDをSSDに直接コピーして正しいデバイスがdd if=/dev/sda bs=1M of=/dev/sdcあることを確認しました。 (間違ってコピーすることができました。)翌朝、ハードドライブを交換して正常に起動しました。 (ここではハードドライブは使用されなくなりました。)次に(インストール?)実行しますgdisk /dev/sda。動作するMBRテーブルがありますが、破損したGPTテーブルもあるそうです。どれを続けるかを尋ねたようで、(1)MBRを選んだ。メインメニューに移動する前に他のものを選択するように求められていないようで、オプションをナビゲートしてw作成しました。再起動。黒い画面にカーソルが点滅します。多くのテストと誤った起動を削除しましたが、リストを完成させるための最初の手順を繰り返しました。

(推奨事項:BIOSがUEFIをサポートしていることを確認し、そうでない場合は更新してください。これをすばやく実行すると、一部の問題が解決する可能性があります。)

コピーするときは注意してください。これらのコマンドのいくつかは私の特定のドライブ文字を使用します。

USBから起動
HDDをSSDにコピーします。たとえば、dd if=/dev/HDD bs=1M of=/dev/SSD(正しくしてください!)
コンピュータをシャットダウンします
。ドライブを交換し、問題が発生して再起動が必要な場合に備えて、HDDを安全な場所に保管してください。
SSDで再起動します
gdisk /dev/sda
(必要に応じてMBR)と破損したGPTから選択するには、USBに
w「書き込む」再起動のためにMBR)を選択します(基本OSで続行するために機能し、データを破壊しない可能性があります)。コンテンツをrootに設定します。インターネットに接続するにはまだefiパーティションが必要な場合があります。


sudo bash
apt update
apt install zfsutils-linux
modprobe zfs
mount /dev/sda5 /mnt  # sda5 was my main installation partition
mount /dev/sda1 /mnt/boot/efi   # sda1 I think was the partition originally intended to be the efi partition
modprobe efivarfs
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
mount --bind /run /mnt/run
chroot /mnt bash
apt install grub-efi
update-grub
grub-install --target=x86_64-efi /dev/sda
update-grub   # not sure whether it's supposed to go before or after install

(どんな段階も見逃さなかったらいいです。)

結局のところ、私のBIOS(Phoenix SecureCore TianoバージョンA03)がUEFIをサポートするには古すぎることに気づきました。だから、
以下から最新のファームウェアをダウンロードしました。https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=khvck 以下からFreeDOS FullUSBイメージをダウンロードしてください。https://www.freedos.org/download/
ddimgファイルをUSBにコピーするUSB
​​再挿入USB
パーティションマウント
BIOS EXEをコピー
syncして閉じます。
USBを起動します(書き込み可能でなければ、それ以外の場合はexeを抽出できません)、
新しいBIOSバージョンA17をインストールするexeを実行します。
これで、BIOSがチェックされます確認UEFIで作業し、メニューなどで新しいオプションを見ました。
(正確な方法は忘れていましたが、まだ起動に失敗しました。)
(その後、起動メニューを使用してハードドライブを選択しました。Ubuntuここに行く起動しましたが、「Watchdog:BUG:Soft Lock」と表示され、数分後に再起動します。
起動メニューからハードドライブを選択すると、グラップ
画面が表示され、メンテナンスモードシェルを選択します。

modprobe zfs
update-grub
grub-install
update-grub
reboot

(BIOSは現在動作しているuefi起動リストに「ubuntu」を表示しますが、BIOSは自動的に起動しません。)起動リストから
ハードドライブを選択すると、起動は成功します。

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt install boot-repair
boot-repair

Ranが修正を提案しました。成功ダイアログに表示される sda1/efi/ubuntu/grubx64.efi パスをメモしておきます
(再起動に失敗しました)
(BIOS で Legacy Boot ROM オプションをオフにして正しく起動しましたが、他のパスは削除しました).そのため、起動オプションを再度オンにしました。)
BIOSで「起動を追加」を選択し、起動オプションに名前を付けてから、既存のターゲットのみを選択したままにしました。パーティションなど)、3番目のボックスでは、「EFI\ubuntu\grubx64.efi」に移動して起動オプションを作成できます。
このオプションがUEFIブートオプションの最初のオプションであることを確認してください。 (uefiの上にすべての以前のオプションがあり、変更できませんでした。)
最終的に独立して起動しました。
OSでgpartedを使用してデフォルトパーティションのサイズを変更し、正常
に再起動しました。

このうちどれくらいの部分が必要だったのか、たとえばBIOSを最初に更新してUSBで起動するいくつかのステップをスキップすれば、どれだけ避けられたのか分からないが、数十の異なるSOで結局そうになりました。投稿、Redditの投稿、フォーラムのトピック。

関連情報