私は私の質問を詳述するために最善を尽くします。忍耐力が足りなくなる場合は、最後の段落に進んでください。
Ubuntu 13.04を公式サイトからダウンロードし、ファイルをUSBスティックのubuntu\
フォルダー(Z:など)に抽出しました。そのため、ファイルはZ:\ubuntu\
にあります。
その前に、Syslinux 5.10(6.00にはバグがあります)をダウンロードし、それを使用して次のコマンドでUSBスティックにブートコードをインストールしました。
syslinux.exe --mbr --active --directory/boot/syslinux/--install Z:
次に、chain.c32と必要なライブラリをZ:\boot\syslinux
にコピーし、syslinux.cfg
に追加しました(重要でない部分は無視されます)。
COM32 chain.c32
追加isolinux =/ubuntu/isolinux/isolinux.cfg
Syslinuxは正常に起動しましたが、Ubuntuの起動に失敗しました。
エラー:オプション「マップ」にはセクターが必要です」が、それが何を意味するのかわかりませんでした。
次に、以下を使用してUbuntuのisolinuxconfigureをロードしてみました。
config /ubuntu/isolinux/isolinux.cfg/ubuntu
しかし、次のようなメッセージしか得られませんでした。
Gfxbootを読み込んでいます...失敗しました:そのようなファイルまたはディレクトリはありません
私はもう一度試しました:
config /ubuntu/isolinux/isolinux.cfg/ubuntu/isolinux /
そしてそれは言った:
COM32ファイルgfxboot.c32のロードに失敗しました
しかし、[TAB]
キーのラベルを見ることができました:
ブート:
ライブライブインストールチェックmemtesthdメインメニューヘルプ
そこで、コマンドラインからUbuntuを起動してみました。
ブート:ライブ
そしてそれはそれを示しました:
/ casper/vmlinuzのロードに失敗しました:そのようなファイルまたはディレクトリはありません
SyslinuxはZ:\
を/
ではなくルートディレクトリZ:\ubuntu\
として認識するため、vmlinzのロードに失敗したと思います。そこで、ファイルをZ:\
に移動して再起動しました。 syslinuxはまだgfxbootをロードできませんでしたが、Ubuntuを正常に起動しました
config /isolinux/isolinux.cfg/isolinux /
ブート:ライブ
Isolinux configureを正しく読み取ったときにgfxboot.c32を読み込めなかった理由がわかりません。たぶん、私が使用しているsyslinuxとUbuntuで使用しているisolinuxは同じではなく、ブートコードとgfxbootは互換性がありません。
Syslinux Wikiには、CONFIGが別の構成ファイルを使用してブートローダーを再起動し、次を使用して新しいホームディレクトリを設定できると記載されています。
CONFIG /path/to/cfg/file/configfile.cfg/path/to/new/base/dir
私はガイドに従いましたが、SyslinuxにルートディレクトリとしてZ:\ubuntu\
を設定させるように提出しました。たぶん私はこのガイドを誤解しました。
だから私の質問は、Ubuntuまたは他のオペレーティングシステムをスタンドアロンフォルダに入れ、syslinuxを適切に構成して、Ubuntuまたは他のOSがルートディレクトリとしてディレクトリを設定し、OSを正常に起動できるようにする方法です。
これがもう関係があるかどうかはわかりませんが、同じ問題が発生していて、まだ遊んでいます。私はいくつかの成功を収めましたが、それを共有したいと思います。
まず第一に、私は同じことを達成しようとしているので、彼が何を達成しようとしているのかすぐにわかりました。彼は、いくつかのLinuxディストリビューションをインストールするためのマルチブートUSBスティックを作成しようとしています。
したがって、各OSを統合して更新を容易にするには、ファイルシステム上に単独であるかのように、各ディストリビューションのブートローダーをロードしてみるのが理にかなっています。したがって、彼は彼らのisolinuxセットアップ(.isoに付属)をチェーンロードしようとしました。私もこれを試しましたが、まだ運がありません。
私が見つけた唯一の回避策(netboot isoでのみテスト済み)は、CONFIGステートメントを使用して新しい構成(この場合は/path/to/distro/isolinux.cfg)をロードする方法を使用することです。ただ、この場合、いくつかのエラーが発生したので、子構成「menu.cfg」を試しました。これはUbuntuブートメニューをスキップしましたが、Ubuntuインストーラーを正常にロードしました。
CONFIG行または以下のAPPENDを使用して、新しいホームも指定する必要があることに注意してください。
最後に、質問に対するいくつかのコメント。 PATH(Z :)に関しては、ここでは関係ありません。実際にUSBスティックから実行しているときは、Windowsを使用しておらず、UNIXのルールが適用されるためです。したがって、パスはUNIXの方法/ xxx/zzzでのみ入力してください。たとえば、「SyslinuxはZ:\をルートディレクトリ/として認識すると思います」は意味がありません。Windowsでは/ = root(ドライブレター+)\(\ = root)だからです。
あなたは私とまったく同じ目標と問題を持っているので、私は将来の進歩を共有します。
編集:これがおそらくすべてを解決する答えです。
覚えておかなければならない単純な事実は、COM32ファイルはSYSLINUX/ISOLINUXの異なるバージョン間で互換性がないということです。 SYSLINUXとISOLINUX自体は相互に互換性があります。
Ubuntu Netboot.isoでは、1つのCOM32ファイルvesamenu.c32のみが使用されます。これを、USBにインストールされているメインのsyslinux(/boot/syslinux/vesamenu.c32)のものに置き換えただけです。
次に、ブートメニューでOSのインストールを開始するファイル(/boot/ubuntu/isolinux.cfg)を指定するだけです。これにはCONFIGを使用してください。魔法のように機能します。 「vesamenu.c32を読み込めませんでした」はもうありません。