SYSLINUXまたはEXTLINUXのどの部分も、ファイルシステムでフォーマットされていないディスク領域(ブートセクタ、BIOSブートパーティションなど)に書き込まれないと仮定すると、GRUB2からSYSLINUX / EXTLINUXをどのようにチェーンロードしますか?
答え1
実際に尋ねるのは、「完全にインストールされていないSYSLINUXまたはEXTLINUXをどのように起動しますか?」です。
(ジョーク半分)FreeDOSを起動してSYSLINUX / EXTLINUXのインストールを完了し、SYSLINUX / EXTLINUXで再起動することをお勧めします。 (GRUBをまだ含める必要がある場合は、GRUBからパーティションブートレコード(PBR)コードをチェーンロードして)この点) :-)
PBRコードがないと、SYSLINUX / EXTLINUXのインストールは不完全です。インストーラはPBRコードを書くだけでなく、一部のディスクブロック番号情報をファイルに直接パッチするため、ldlinux.sys
このファイルをあるディスクから別のディスクにコピーすると、この情報が間違っている可能性があります。このようなコピーをリンクロードしようとすると、次のldlinux.sys
2つの理由で競合が発生する可能性が高くなります。
- パッチされたディスクブロック番号情報が正しくありません。
- GRUB チェーンローディングの実行環境は、実行後の SYSLINUX PBR コードの実行環境とまったく同じではない場合があります。
以下にPBRコードを見つけることができます。diskboot.inc アセンブラファイルSYSLINUXソースコードパッケージ、ファイルの先頭ldlinux.sys
は次のとおりです。diskstart.inc アセンブラファイル。アセンブリコードの読み方がわからない場合でも、コメントから豊富な情報を得ることができます。
GRUB を使用して SYSLINUX/EXTLINUX ブータブルライブ Linux ディストリビューションまたはユーティリティをいくつかのマルチブートシステムに結合する場合は、より簡単な方法は SYSLINUX の設定ファイルを読み込み、同じカーネルファイル initrd/initramfs ファイルを使用するように GRUB を設定することですです。適用可能)およびカーネルブートオプション(SYSLINUXと同様)。
これはLinuxカーネルブートの基本であるため、ブートOS /ユーティリティがどのブートローダーが使用されているかを明示的に確認する問題が発生しない限り、GRUBまたはSYSLINUX / EXTLINUXでブートしても、結果はまったく同じでなければなりません。 (違いがあればバグの可能性が高いです。)