linux – GRUB を使って USB からブートする

boot grub linux

私の友人のラップトップは、交通事故にあった (彼は元気です!).しかし、ラップトップは非常に古いですが、そのエイサー熱望する1520 CD-ROMドライブが壊れており、フロッピードライブはありません

調べる前にUSBブートさせてみたところ、彼のBIOSがUSBからブートできないことがわかりました。私が持っているのはGRUBコンソールだけですが、彼はXPをインストールして(USBで)ムービーだけに使いたいと言っています

GRUBコンソールを使ってUSBにアクセスしてwindowsのインストールを開始することは可能でしょうか?敷居が高いですが、この方法ではないかと思いますし、LAN経由でインストールしようとすると達成できないと思います

  58  None  2011-10-23


ベストアンサー

ここでは、動作するかもしれないグラブコマンドの簡単な例、以下の説明と注意点を紹介します

grub2

ほとんどの場合、2010年以降のインストール用です

set root=(hd1,1)
chainloader +1
boot

grub

ほとんどの場合、2005年以前にインストールされたものと思われます

root (hd1,0)
chainloader +1
boot

2005年から2010年の期間については、あなたの推測は私と同じように正しいのですが、間違ったバージョンのコマンドを使った場合、最初のコマンドでは無害な構文エラーが出るだけです

正しい根っこの選択

起動時には、grub はデバイスを検出し、それらに番号を割り当てます。パーティショニングされているすべてのデバイス(ハードディスクやフラッシュドライブ)にも番号が割り当てられています。フォーマットは (<deviceName>,<partitionIndex>) です。grub2ではパーティションインデックスが変更されたので、上の2つの例では異なるルートを使用しているように見えますが、同じ効果が得られます

最初のデバイス (hd0) は、今ロードされたばかりのデバイスグラブのどれかです。その後、通常はすべての内部デバイスが外部デバイスの前に来ると考えることができます。それらは hd と数字の形をしていることが多いでしょう

カンマの後はパーティションインデックスです。ハードディスクやサムドライブはほとんどの場合、パーティションが設定されているので、正しい (可能性の高い) パーティションを選ぶ必要があります。CD-ROM は通常、パーティションが設定されていません

その他のドキュメント。http://www.gnu.org/software/grub/manual/html_node/Device-syntax.html

ルートパーティションを選択するときに、Tabキーを使ってデバイス名とパーティションインデックスを探ります。括弧を開いてTabキーを押し始めるとリストが表示されます

50  Ekevoo  2014-09-13


new123456さんのコメントを詳しく説明すると

USBデバイスは大容量記憶装置として検出され、ハードドライブと同じように扱われるはずです。そこで、grubでroot (hdと入力し(Enterはまだ押さないでください)、タブを1回か2回押して、Grubがどのようなハードドライブを見ることができるかを確認してください。USB デバイスが認識されていれば、おそらく hd1 になるでしょう。パーティション番号は指定しないでください。そのため、行は root (hd1) となります。その後、次のように入力します

chainloader +1
boot

それでもダメなら、root (hd1)root (hd1,0)に変更してもう一度試してみてください

何らかの理由でGrubがUSBドライブを見ることができない場合は、USB CDROMを差し込んで起動してみてください

14  Jonathan  2011-10-24


USBキーからの起動が苦手なBIOSでは、chainloader +1の件はうまくいかないかもしれません(だからこそ、とにかくGrubを使いたいと思っていました)

この場合、https://help.ubuntu.com/community/Grub2/ISOBootには、少なくともUbuntuの場合には動作する、いくつかの深い魔法があります。重要なのは、vmlinuzファイルを識別するgrubコマンドをいじって、iso-scan/filename引数を渡していることです。どういうわけか、それはブートファイルシステム全体が ISO ファイルに詰まっていることを理解するのに役立ちます。どのように動作するのかはわかりませんが、動作しています。以下は私が使用した (おおよその) Grub 2 コマンドです

loopback loop (fd0,msdos1)/path/to/iso/file
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/path/to/iso/file noprompt noeject
initrd (loop)/casper/initrd.lz
boot

/path/to/iso/file は USB キーの ISO ファイルへのパスです。(fd0,msdos1) は USB キーを識別します。タブ補完は loopback 行では非常に便利ですが、vmlinuz への引数には役に立ちません

10  Paul Stansifer  2014-09-21


これを @Ekevoo か @Jonathan のどちらかの投稿にコメントとして残そうと思っていたのですが、許可されていないので、同じようにこれに遭遇する可能性のある人のために、私のユースケース+解決策を紹介します

USBにはGPart Live CD Installが入っていたのですが、以前は動作していたにもかかわらず、BIOSがなぜか起動しませんでした(前回はwindows経由でCDをインストールしたのですが、今回はUbuntu経由でインストールしました)。Grubで以下のコマンドを実行してみたところ、うまくいきました

set root=(hd0)

これは端末によって違うかもしれないし、必要なのかどうかもわからない

それから私は走った

chainloader (hd0)/efi/boot/grubx64.efi
boot

他のOSではパスが違うと思いますが、似たようなファイルがあるはずです。タブで探してみてください

そして、それだけで十分に効果があったのです

4  9 Guy  2020-02-13


これは、あなたの友人の場合には非常に役立つつもりはありません (私が最初の場所でデバイス上のplopを取得するための方法を知らない限り – たぶんUSB CD-ROM, またはUSBフロッピードライブ?) しかし、これは素晴らしい小さなアプリケーションです, 私は彼らのバイオはそれを許可しないだろうときにUSBから起動するために古いマシンの数をリグするのに役立っています

Plop Boot Manager

2  pseudo sue  2015-05-08


バイオスがそれ自体を許可していない場合、grubではusbから起動することはできません。私は以前、win7セットアップディスクの内容が入ったハードディスクにリカバリーパーティションのようなものをセットアップして、grubをインストールし、それを使ってwin7セットアップパーティションを起動して残りのハードディスクにインストールしたことがあります

-1  hanetzer  2014-06-27


タイトルとURLをコピーしました