GRUB2:2番目(他の)ハードドライブから起動

GRUB2:2番目(他の)ハードドライブから起動

この質問を調べましたが、明確な答えが見つかりませんでした...明確な質問も見つかりませんでした。だから簡単な例を挙げましょう。

マイコンピュータには**ハードドライブ2台:**があります。

  • ハードドライブ1:UbuntuLinuxとGRUB2存在する膜バイオリアクター
  • ハードドライブ2:どの他のオペレーティングシステム(どのオペレーティングシステムに影響しますか?)とは異なるMBRローダ。

GRUB2のみUbuntuで起動(私の例では、最初のハードドライブにあります)
発行を確実update-grub検出されないOSは2番目のハードドライブにありますが、1つもあることを知っています。
入るとバイオス起動時間と起動順序をHDD 2(2番目のOS)に変更良いブーツ

どうやってできるかGRUB2にアイテムを追加ブートセカンドハードドライブ

(事実はこの質問ができると思います。いいえ2番目のハードドライブのオペレーティングシステムを指定します。それとも? )

要求に応じて、os-proberこの構成を使用してサンプルマシンの出力を追加します。

luis@threepwood:~$ sudo os-prober
/dev/sdb1:Windows 7 (loader):Windows:chain
/dev/sdb7:Ubuntu 14.04.3 LTS (14.04):Ubuntu:linux

この特定の例では(BIOSで起動順序を変更しました):

  • sdbHDD-1です。
  • sdaHDD-2です。

答え1

私は通常grub.cfg手動で作成し、絶対に使用しませんupdate-grub。そして、起動場所を選択できる、いわゆるデフォルトのGrub2ブートローダがあります。その後、各Linuxディストリビューションに独自のルートパーティションに独自のブートローダをインストールさせます。これにより、Linuxで編集できます。私のメインgrub2ブートローダに触れることなく、独自のブートローダを使用できます。

別のディスクMBRに移動するためにgrub.cfgディスクを最初のディスクと見なす必要がない通常のOSには、次の項目が設定されました。

menuentry "Boot from second disk" {
   chainloader (hd1)+1
}
menuentry "Boot from third disk" {
   chainloader (hd2)+1
}
menuentry "Boot from fourth disk" {
   chainloader (hd3)+1
}

だから私が望む別のディスクにMBRをロードします。

ただし、最初のディスクと同じように、他のディスクを見たいと思うトリッキーなLinux(および一部のWindows)では、grubメニュー項目にいくつかのコマンドを追加して次のようになります。

menuentry "Boot from second disk and see it as first disk" {
   set root=(hd1)
   drivemap -s hd0 hd1
   chainloader +1
}
menuentry "Boot from third disk and see it as first disk" {
   set root=(hd2)
   drivemap -s hd0 hd2
   chainloader +1
}
menuentry "Boot from fourth disk and see it as first disk" {
   set root=(hd3)
   drivemap -s hd0 hd3
   chainloader +1
}

すべて詳しく説明します。

  • (hd#)はディスクを表します。ここで、#は0から始まります。

  • Drivemapはドライブスワップを実行するため、すべてのディスクを最初のディスクまたは希望の番号で表示できます(表示されている2つのディスクの順序を変更します)。

  • chainloader(hd#)+ 1はディスクのMBRにジャンプします。

  • chainloader +1(ルート)に保存された最初のセクタにジャンプ

  • set root=... (root) が所有する項目を設定します。

  • (root)は、入力を少なくするために使用できる変数と同じです。

ファイルの完全な文書を表示するには、grub.cfg公式ウェブページを確認してください。

https://www.gnu.org/software/grub/manual/grub/grub.html

答え2

それは簡単です。次の手順に従ってください。

例のシナリオ:

  • /dev/sda1– セントOS

  • /dev/sdb1– Debian

CentOSドライブにアクティブMBRがあるとします。このようにして起動後にDebianを追加するだけでCentOSシステムに入ることができます。

アクティブなオペレーティングシステム(このシナリオではCentOS)での作業:

  1. mount /dev/sdb1 /mnt/debian

  2. menuentry次のように、全体のDebian部分を切り取ります/mnt/debian/boot/grub{2}/grub.cfg

    menuentry 'Debian GNU/Linux' --class debian --class gnu-linux ... { ... }

  3. これでファイルを作成します。touch /etc/grub.d/11_linux

  4. これはスクリプトなので、次のことを行う必要があります。chmod +x /etc/grub.d/11_linux

  5. 次に追加:

    #!/bin/sh
    echo "
    

    11_linuxセクションを貼り付けます。"最後までやりましたね。したがって、私たちは次のことをしなければなりません。

    centos #~> cat /etc/grub.d/11_linux
    
    #!/bin/sh
    echo "menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-78026456-ebcc-4eed-b59d-a3f0bdff7353' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  f2de4123-5a98-4568-99dd-e61940b99ab2
        else
          search --no-floppy --fs-uuid --set=root f2de4123-5a98-4568-99dd-e61940b99ab2
        fi
        echo    'Loading Linux 3.16.0-4-amd64 ...'
        linux   /vmlinuz-3.16.0-4-amd64 root=/dev/mapper/Thinkpad--vg-root ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /initrd.img-3.16.0-4-amd64
    }"
    
  6. grub2-mkconfig -o /boot/grub{2}/grub.cfg

  7. 再起動。

望むより。

答え3

こんにちは、ちょうど同じ問題が発生しました。 os-proberをインストールした後、grub-customizerはos-proberを使用して2番目のHDDでオペレーティングシステムを見つけて起動メニューに追加できることを発見しました。設定ファイルを編集するよりもこれが簡単であることがわかります:)

答え4

2番目のHDDのgrub構成にエントリを追加する必要があると思います。

どのオペレーティングシステムであるかは問題ではありません。

私はWindows HDDでgrub2でデュアルブックを使用しています。 WindowsとLinuxを検出して起動するオペレーティングシステムを選択するためのメニューを提供します。

高度な設定、チェーンロード、およびグルーブに手動でアイテムを追加するには、次のリンクをクリックしてください。

https://help.ubuntu.com/community/Grub2/CustomMenus

関連情報