web-dev-qa-db-ja.com

GRUBを使用してUSBから起動します。

私の友人のラップトップは自動車事故にあった(彼は大丈夫だ!)しかしラップトップは非常に古く、そのAcer Aspire 1520 CD-ROMドライブは壊れていてフロッピードライブはありません。

それを見る前に私は彼にUSBブートをさせました、そして、彼のBIOSはUSBからブートすることができないことがわかりました。私が持っている唯一のものはGRUBコンソールですが、彼は[USB]でXPをインストールしてそれを使うことに熱心です映画のためだけに。

GRUBコンソールを使用してUSBにアクセスし、Windowsのインストールを開始することは可能ですか?それは大変な注文ですが、これが方法かもしれないし、LAN経由でインストールしようとすると達成できないと思うのです。

47
user685590

これは、動作する可能性があるgrubコマンドの簡単な例、説明、および下記の警告です。

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)はロードされたばかりのデバイスgrubです。その後は、通常、すべての内部デバイスが外部デバイスよりも先に来ると想定できます。ほとんどの場合、それらはhdと数字の形式になります。

コンマの後はパーティションインデックスです。ハードディスクとサムドライブはほとんどの場合パーティション分割されるので、正しいパーティションを選択する必要があります。 CD-ROMは通常パーティション分割されていません。

より多くのドキュメント: http://www.gnu.org/software/grub/manual/html_node/Device-syntax.html

ルートパーティションを選ぶときは、Tabキーを使ってデバイス名とパーティションインデックスを調べることができます。括弧を開いてTabキーを押すだけでリストが表示されます。

37
Ekevoo

New123456のコメントを詳しく述べると:

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

chainloader +1
boot

それでもうまくいかない場合は、root (hd1)root (hd1,0)に変更してもう一度試してください。

何らかの理由でGrubがUSBドライブを認識できない場合は、USB CD-ROMを接続して起動してみてください。

13
Jonathan

BIOSがUSBキーから起動するのが苦手な場合は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への引数には役立ちません。

6
Paul Stansifer

これはあなたの友人の場合はそれほどひどくは役に立たないでしょう(そもそも私がその装置を使いこなすことに気付いていない方法がない限り - おそらくusb cd-rom、またはusbフロッピードライブでしょうか?)これはすごく小さなアプリケーションです。BiOSが許可しないときには、古いマシンをいくつか使ってusbから起動することができました。

Plop Boot Manager

2
pseudo sue

BIOSがそれ自体を許可していない場合は、GRUBでUSBから起動することはできません。私はかつてwin7のセットアップディスクの内容を含むハードディスク上に一種のリカバリパーティションをセットアップし、grubをインストールし、それからそれを残りのハードドライブにインストールするためにwin7のセットアップパーティションを起動するために使用しました。

0
hanetzer