web-dev-qa-db-ja.com

このようなことを行うためにGrub2を起動させることはできますか?

最初のプライマリパーティション(別のプライマリパーティション)にWindows NT4へのデュアルブートシステムが動作しているラップトップと、MBRのブートマネージャーとしてgrub2を使用する拡張パーティションにLubuntuLinuxがあります。このディスクの2番目のプライマリパーティション[編集:FAT16]のms-dosに3番目のブートオプションを追加したいと思います。

これまでのところ、/ etc/grub.d/40_customに次のスクリプトを追加しました

menuentry 'DOS' {
    parttool(hd0,msdos1) hidden+
    parttool(hd0,msdos3) hidden-
    set root=(hd0,msdos3)
    chainloader +1
    parttool ${root} boot+
    boot
}

2番目のプライマリパーティションには、次のファイル(command.com、autoexec.bat、ibmbio.com、ibmdos.com)などの古いDOSブートディスクの内容が含まれています。

Update-grubを実行すると、os_proberがdosパーティションを認識できず、メニューエントリが追加されていないため、カスタムスクリプトが無視されます。次に Grub Customizer を使用してgrub.cfgを上書きすると、メニューエントリが追加されますが、そのオプションから起動しようとすると、次のエラーが発生します。これはBIOSによって報告されていると思います。 "これは起動可能なディスクではありません。起動可能なフロッピーを挿入し、キーを押して再試行してください... "...キーを押すと、すぐにgrubブートメニューに戻ります。

だから私の質問はこれらです:1。このシステム構成で2番目のプライマリパーティションでms-dosを起動できますか? 2. dosパーティションを起動可能にするために、何か特別なものが必要ですか? 3. grub2の後、dosの前にgrub4dosのようなものをチェーンに追加する必要がありますか? (1と2が実行可能である場合は避けたい)4。この要求はまったく不可能ですか? (この時点で、実行したいこの[〜#〜] old [〜#〜]dosプログラムでCDを作成する必要があると思います)

1
Stutz Jr

私の質問に答えて、デニスからのプロンプトのおかげで私は確認することができます:

  1. 上記の引用されたスクリプトでgrub2を使用して2番目のプライマリパーティションでms-dosを起動することは可能です( GNU GRUB Manual を参照)。 update-grub/os_proberがシステムを自動的に取得しなかったため、grub.cfgが必要でした。
  2. これを可能にするには、追加のファイルが必要でした。フロッピーブートディスクの内容をコピーするだけでは不十分でした。 「sysc:」は、ディスク容量の不足に関する誤ったエラーを報告しました。これは、おそらく上記のデニスが述べた特別なセクターの要件が原因です。 MS-DOS 6ブートディスクを使用して「formatc:/ s」を実行する必要がありました。これにより、上記のように適切に起動可能なパーティションが作成されました(os_proberによってまだ取得されていません)。 N.B. dosブートディスクは、Windows NT4パーティションをまったく取得しなかったため、2番目のプライマリパーティションに文字C:を割り当てました。
  3. これを行うために、質問で引用されたgrub2スクリプトの後に、他のブートマネージャーを追加する必要はありませんでした。
  4. 要件は満たされましたが、誤ってWindowsNT4ブートローダーがプロセスで失敗した可能性があります。これは別の問題として扱います。
1
Stutz Jr