Ubuntu liveCDから空のディスクにgrubをインストールする方法

Ubuntu liveCDから空のディスクにgrubをインストールする方法

免責事項:私はこの分野が初めてなので、段階的なガイドが必要です。ありがとうございます!

ローカルネットワークに保存されているISOファイルから起動するので、まずオペレーティングシステムなしでgrubをインストールしたいと思います。 liveCDで起動しました(不安定なシステムが必要なためマウントできません)、最初のステップで停止しました。試しましたが、grub-install /dev/sdaエラーメッセージが表示されますgrub-install: error: cannot open directory '/boot/grub/i386-pc': No such file or directory.

grub-installそのため、必要なファイルをすべて作成してコピーしましたが、次のように表示されます。grub-install: error: failed to get canonical path of 'aufs'.

Webを検索した結果、ほとんどの回答でシステムがインストールされている場合はchrootを使用する必要があることがわかりましたが(壊れることはありますが)、どのドライブにもUbuntuがインストールされておらず、私の目標は次のとおりです。liveCDのgrubを空のドライブにインストールする

空のブートローダーで始めたいです。

どうすればいいですか?

よろしくお願いします。

答え1

ISOのみ起動する場合は、完全なLinuxファイル構造は必要ありません。フラッシュドライブにさまざまな形式のグラブをインストールし、同じフラッシュドライブからISOを起動しました。ネットワークブートに必要な正確なグラブブートスタンザは不明です。

再フォーマットされた古いUSB2フラッシュドライブがあります。 40年前のMBRパーティションよりも気に入って最初にgptに設定しました。私が主に使用するgpartedを使用してください。始める前に、msdos(MBR)プライマリパーティションのデバイス、詳細からgptを選択してください。またはpartedまたはgdiskを使用してください。注:これにより、ドライブが完全に消去されます。 sdXはフラッシュドライブです。

sudo parted /dev/sdX mklabel gpt

その後、gpartedを使用して大規模なFAT32パーティションを作成しました。正しく表示するには再起動する必要があり、ファイルエクスプローラはESPパーティションを自動的にマウントしないため、ディスクを使用するか手動でマウントする必要がありました。

Model: Kingston DataTraveler 2.0 (scsi)
Disk /dev/sdc: 1998MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1998MB  1996MB  fat32        esp2  msftdata

それからディスクにマウントし、/media/fredにいました。

/dev/sdc1 on /media/fred/FC87-F75C type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)

その後、グラップを取り付けます。私のドライブはsdcとして扱われます。従来のUSB2フラッシュドライブに比べて少し遅いです。

sudo grub-install --root-directory=/media/fred/FC87-F75C /dev/sdc

/boot/grub/grub.cfg に、全体の grub 3 行構成ファイルである構造と汎用 /EFI/ubuntu/grub.cfg を生成します。ただし、/boot/grub/grub.cfg ブートファイルは生成されません。私は通常、これらの参照と以前のメモを使用してローカルISOを起動するために手動で作成します。 grub.cfgを作成する必要がありますが、パスとインストールを含める必要がありますか?ネットワークに。

ISOブートとサンプルリンク

https://help.ubuntu.com/community/Grub2/ISOBoot

その他の例

https://help.ubuntu.com/community/Grub2/ISOBoot/Examples

Googleを使用してネットワークグラップ情報を見つけました。 nfsは機能しませんが、ネットワークブートの例があります。

GRUB PXEのnfsroot設定

GRUB2コンソールを介してネットワークからLinuxカーネルを起動するには?

答え2

システムをインストールする必要はありません。まず、これから例として使用するディスクをマウントする必要がありますsda。マウントポイントの例/media/usr/DISK

端末で次のコードを使用します。

dirs=(etc bin usr proc sys lib lib64 dev sbin)

for dir in ${dirs[@]}; do
  mkdir /media/usr/DISK/$dir
  sudo mount --bind /$dir /media/usr/DISK/$dir
done

sudo chroot /media/usr/DISK/ grub-install --target=i386-pc --boot-directory=/ /dev/sda

for dir in ${dirs[@]}; do
  sudo umount /media/usr/DISK/$dir
  rm -r /media/usr/DISK/$dir
done

関連情報