UbuntuとWindows 7をインストールするために起動可能なEFI USBを作成したいです(おそらく次のようなものを使用して)PartedMagic)。私はこれを使ってこれを行いますマルチシステム前に。しかし、私はGPTを使用しており、GPTシステムにインストールするにはWindowsのインストールをEFIモードで起動する必要があります。代わりにGRUB EFIを使用する必要がありますか? GRUB EFIブータブルUSBを生成できるMultiSystemなどのアプリケーションがない場合、どのように直接生成できますか?
USBをGPTでフォーマットし、そこにGRUB EFIをインストールすると思います(どのように?)。もしそうなら、EFIからUbuntuとWindows 7のインストールをロードするためにGRUB EFIを設定する必要がありますか?どうすればいいですか?
修正する
私が試したことは次のとおりです。
- 私のUSBに2つのパーティションを作成します(GPT、100 + MB FAT32(ブートフラグ設定用/ dev / sdc1)、残りのFAT32、インストール用/ dev / sdc2)
- Windows 7およびUbuntu 11.10 isosをインストーラパーティションの2つの異なるフォルダに抽出します。
sudo elilo -b /dev/sdc1
--autoconf --efiboot -v`を試してください。
jiewmeng@JM:~$ sudo elilo -b /dev/sdc1 --autoconf --efiboot -v
elilo: backing up existing /etc/elilo.conf as /etc/elilo.conf-
Loaded efivars kernel module to enable use of efibootmgr
elilo: Checking filesystem on /dev/sdc1...
elilo: Mounting /dev/sdc1...
e lilo: 44298KB needed, 78781KB free, 42192KB to reuse
elilo: Installing primary bootstrap /usr/lib/elilo/elilo.efi onto /dev/sdc1...
elilo: Installing /tmp/elilo.k8NWXX on /dev/sdc1...
elilo: Installing /vmlinuz on /dev/sdc1...
elilo: Installing /vmlinuz.old on /dev/sdc1...
elilo: Installing /initrd.img on /dev/sdc1...
elilo: Installing /initrd.img.old on /dev/sdc1...
elilo: Updating EFI boot-device variable...
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.
elilo: An error occured while updating boot menu, we'll ignore it
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.
elilo: Installation complete.
出力はありませんが、sudo modprobe efivars
同じエラーが発生します。 EFI Ubuntuで起動しなかったからだそうです。
次に、USB Startup Disk Creatorを使用してEFIモードでライブシステムで起動し、再試行します。
修正する
とても混乱しています。これがWindowsのインストール中の最初のエラーですか? UNetBootInを使用してUbuntu Alternateの起動可能なUSBをフォーマットして作成しましたが、使用できるカーネルがないという同じエラーで失敗しました。 Ubuntuデスクトップを作成すると、適切なソースを構成できません
Ubuntuデスクトップインストールのシステムログhttp://pastebin.com/CdbUPXax
時間を無駄にせず、できるだけ早くMBRに復元することをお勧めします。
修正する
BIOSモード(EFIではない)でUbuntu 11.10 Alternateを起動しようとしましたが、正しくインストールされましたが、ブートローダをインストールできませんでした。致命的なエラーだそうです。その後、回復モードでUSBを起動してGRUBをインストールしました。動作しますが起動しません。起動すると空の画面が表示されます。 (UbuntuがインストールされているHDDで)リカバリモードに入ろうとすると、キーボードは機能しないようですが、マウスは点灯します。
答え1
この質問/回答を更新しています。
バグがないわけではありませんが、@jiewmengで作業したときにUSBを使用して単一のハードドライブUEFIにWindowsとUbuntuをインストールすることが目標であることがわかりました。
解決策を見つけるには少し時間がかかりましたが、質問と回答を整理する必要があります。
元の質問に対する回答も可能かもしれませんが、目標はインストール側にさらにあるため、シングルブートUEFI USBはそれほど重要ではありません。
私は現在2つのUSBスティックを使用しています。 1つはWindows用で、もう1つはUbuntu用です。
アップデート予定のWIPです。
私は数日間、あちこちで自由な時間を過ごしてこれをやってきて、ついにWindows 7とUbuntuのインストールをサポートして起動できるUSBを持っていました。
私の設定は64ビットのみなので、32ビットインストールに合わせて変更してみることができますが、ファイル名には多くの違いがあります。 32ビットが必要な場合は、フォローアップを実行してください。その意味は…
GPTでフォーマットされたUSBではWindows 7をインストールできません。
gdiskまたはpartedを使用してGPT USBを作成できます。〜するUEFI経由で起動します。
USBからWindowsインストーラをロードするようにUEFIブートマネージャを設定できますが、インストーラはインストールを実行するために必要なファイルとデータを取得し、GPT USBは認識されませんがMBR USBは検索します。
ただし、UEFIはMBR / GPTとEFIパーティションの両方を検証するため、これは重要ではありません。UEFIブートのWikipediaエントリ
USBは標準MBRを使用しますが、UEFI経由でGPTディスクにインストールできます。
以下は、64ビットインストールを使用する64ビットUEFI Asus Sabertoothで機能します。
各マザーボードのファームウェアは非常に具体的であり、各マザーボードのUEFIファームウェアはUEFIブートを異なる方法で検索します。マザーボードで起動データを見つけるのに問題があるかもしれませんが、以下は私のAsusで動作します。
Windows 7 64ビットDVDのインストール可能コピーとUbuntu ISO(この場合は11.10 64ビットデスクトップISO)を使用して起動可能なUSBを作成する方法は次のとおりです。
16G USBを使用すると、これが私が持っているすべてです...
私のUSBは/ dev / sdcとしてマウントされています。関連参照をUSBに適したデバイスに変更してください。
7zipがインストールされていることを確認してください。
fdisk /dev/sdc
create new MBR, 'o' command
create new partition, part 1, size 8G, type ef, set bootable, write
mkfs.vfat -F32 /dev/sdc1
mkdir /mnt/USB
mount /dev/sdc1 /mnt/USB
insert Windows 7 x64 DVD, again, mine appeared as /media/UDF\ Volume, you need to change references below
# Extract/Copy the entire Windows DVD to the USB
cp -r /media/UDF\ Volume/* /mnt/USB
# I don't know what effect the following rename has, I copied blindly from another webpage.
mv /mnt/USB/sources/ei.cfg /mnt/USB/sources/ei.cfg_
cd /mnt/USB/efi/microsoft/boot/
7z e /mnt/USB/sources/install.wim 1/Windows/Boot/EFI/bootmgfw.efi
cp -r /mnt/USB/efi/microsoft/boot /mnt/USB/efi/
mv /mnt/USB/efi/boot/bootmgfw.efi /mnt/USB/efi/boot/bootx64.efi
# At this point I booted the USB, and installed Windows 7 to a GPT SSD
# Upon reboot I noticed the Windows Boot loader in my UEFI boot list (actually it made itself 1st).
# so, here we have a standalone Windows7 UEFI installer that will function correctly (64bit ASUS, at least).
# Now, on to adding Ubuntu
cd /mnt/USB
7z x /path2iso/ubuntu-11.10-desktop-amd64.iso
# If 7z finds prexisting files with the same name, just allow always overwrite
# (Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit? A
# At this point I booted the USB, and installed Ubuntu x64 to a GPT SSD
# we have a standalone Ubuntu 64bit installer that install Ubuntu 64
# Now, on to add a boot manager that will allow us to select between Windows 7 and Ubuntu
# Get the target UUID of the USB partition, using either blkid or the following command
grub-probe --target=fs_uuid /mnt/USB/efi/Microsoft/Boot/bootmgfw.efi
will print YOUR_UUID # Substitute into the following references to YOUR_UUID
# Append the following menuentry to /mnt/USB/boot/grub/x86_64-efi/grub.cfg
menuentry "Microsoft Windows x86_64 UEFI-GPT Setup" {
insmod usbms
insmod part_gpt
insmod part_msdos
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --no-floppy --set=root YOUR_UUID # <- CHANGE THIS TO YOUR UUID
chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}
望むより! grub をブートマネージャとして使用して動作する USB スティックで、UEFI インストールを介して GPT ディスクにインストールできます。
間違えた場合は、私にメッセージを送ってください。検討してみましょう。
答え2
私はこの質問に答えるために最善を尽くし、正しい方向を教えてくれることを願っています。
ご存知のように、Win7 x64はEFI経由でGPTからのみインストールできます。さらに悪いことに、Win7 x64 はすべてのハイブリッド ディスクをレガシー MBR として扱うため、ハイブリッド ディスクを使用できないことです。したがって、USBをGPTとラベル付けするか、再パーティションする必要があります。このタイプの設定は、移植性の考慮事項のため、USB には推奨されません。私はそれを作ってはいけませんが、自動化されたツールが存在することを望まないだけです。実際にドライブをフォーマットした後、マルチシステムを使用できると思います。自動的にインストールされたGrub2にEFI / GPTサポートがない場合は、正しいGrub2バージョンで上書きしてください。
したがって、この回答の範囲外の手動インストールを実行する必要があるかもしれません。始めるべきですが…
現在のバージョンをparted
使用してGPTでドライブにタグを付け直します。ディスクが/dev/sdcにあると仮定すると、
parted -s /dev/sdc mklabel gpt
これでドライブを分割する必要があります。可能であれば、USBは単一のプライマリドライブでなければなりません。私は常に起動可能なUSBにFAT32を使用しています。
parted -s /dev/sdc mkpart primary fat32 0 -1
parted
mkpart
FSは以前のようには作成されませんmkpartfs
。ドキュメントは、組み込みのサポートの代わりにparted
正しいものを使用することをお勧めします。mkfs
parted
mkfs.vfat /dev/sdc1
これでドライブがデータを処理する準備が整いました。さて、複数のシステムを使ってドライブをセットアップできることを願っています。
これがすべて完了したら... Grub2を設定する必要があります。当然、構成を維持しようとしています。マルチシステム可能EFIから起動できますが、とにかくモジュール構成を変更する必要があります。
Grub2構成は、boot/grub/grub.cfg
注釈付きのいくつかのモジュールを見ることができます。 GPTに関する記事を見たことがありますが、EFIについてはよくわかりません。私はそれを確認し、いくつかのテストを実行し、Grub2ドキュメントを読むことを検討します。
それでも質問がある場合は、後続の質問でコメントを残してください。
答え3
上記のbdowningの答えから始めて、ここにParted Magicを追加してください。
これを達成する方法はいくつかありますが、最も簡単な方法は、Parted Magic ISOのpmagicディレクトリをUSBディスクのルートにコピーしてから、ここにメニュー項目を追加することです。
menuentry "Parted Magic" --class gnu-linux --class gnu --class os {
linux /pmagic/bzImage
initrd /pmagic/initrd.img
}
(この機能を完全に機能させるには、grub2のマニュアルを読む必要があるかもしれません。前回これを行うときにgrub1を使用していましたが、設定ファイルが異なりました。)
ここでの欠点は、Windows、Ubuntu、およびParted Magicのファイルを1つのファイルシステムに混在させることです。さらに悪いことは、EFIシステムパーティションに直接置くことです。それはうまくいきますが、もちろんすべてのOSの組み合わせでは機能しないかもしれません。これを行うには、grubに正しいファイルシステムを検索するように指示する必要があります。これはguidを介して実行できます。すべてのファイルシステムには作成時に独自のGUIDが用意されているため、そのGUIDを見つけるにはgrub-probe(または同様のツール)を使用する必要があります。次に、それをgrub設定の検索コマンドに貼り付けます。
menuentry "Parted Magic" --class gnu-linux --class gnu --class os {
search --no-floppy --fs-uuid --set 8d2acb74-5216-4696-90a8-c76f92d5e4ee
linux /pmagic/bzImage
initrd /pmagic/initrd.img
}
お役に立てば幸いです。
答え4
なぜGRUB2を使用するのですか?状況が複雑になるだけです。 EFI STUBメソッドを使用すると、ESPにUEFIシェルを追加してESPからLinuxカーネルを起動できます。