お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#26 2021-02-24 21:15:14

chichinpui
メンバ
登録日: 2010-02-08

Re: Grub起動画面を交代させるには、Ubuntu側でどうコマンドを打ったらよいでしょうか?

redredさん

図のブラッシュアップ確認しました。
興味がある分、少し長くなってしまいます。ご容赦下さい。

実は私も、現在の「1枚のディスクにはlinuxは1つ」の運用が定着(?)する随分前に、1枚のディスクに複数のgrubを格納して、grubからgrubを渡り歩くチェーンロードにチャレンジしようかと思った時期がありました。
当時何故そうしようとしたかの記憶も定かではないのですが、調べていたら「そもそもパーティションにgrubを格納するのは強く非推奨!!」みたいな情報を見て、試行すら断念した記憶があります。(試しもせず断念したので、単なる興味、実験だったも知れません)

少し調べたら「パーティション先頭エリアの容量の問題で分散した格納先が、場合によっては読めなくなる」みたいな理由の様ですが、現在は問題ないのでしょうかね。
下記は、過去ubuntuフォーラム、他の非推奨のドキュメント例になります。
https://forums.ubuntulinux.jp/viewtopic.php?id=8168
https://wiki.archlinux.jp/index.php/GRUB
「2.3.1.3 パーティションやパーティションレスディスクにインストールする」の項です。

本題ですが、仮にパーティションをgrubのインストール先にしても問題ないと仮定した場合。

chichinpui による投稿:

2)ubuntuでインストールされたgrubからmintを起動する場合、ubuntuでのupdate-grubのタイミングによっては、ubuntu側のgrub.cfgのmintの情報が古いなど、不整合が発生する場合があるのでは。
mintのkernelがあがって、mint側でupdate-grubが走っても、更新されるのはmint側のgrub.cfgで、ubuntu側のgrubはubuntu側の古いgrub.cfgしか見えないと思うのですが。
ubuntu側でupdate-grubすれば済む、で割り切ってもよいのかも知れませんが、ubuntu側でmint最新kernelを起動したら、実はmint側の2番めになってたなど、動くけどややこしい誤認につながる気もします。

仮にmintのgrubインストール先をパーティションに変更しても、ubuntuでインストールしたgrubからmintを起動する場合は、上記の懸念が残るのではと思います。
手っ取り早い解決策は、ellipticさんが仰っていた以下を活用しては、と思いました。

elliptic による投稿:

/dev/sda6 からの起動を試したいときは 別のブートローダ経由で 2段階ブートさせます。

これはgrubのチェーンロードと理解しました。
ubuntu側のgrubが起動している状態からmintを起動したい場合は、ubuntu側のgrubに予めチェーンロードの定義を追加しておき、これを選択したらパーティションにあるmint側のgrubにジャンプする。
mint側のgrubでは、少なくとも自分自身(mint)のカーネル選択肢は正しく同期されているはずなので、最新カーネルがずれたり、カーネルが無いなどのトラブルはないのでは。
私がBIOS連打で運用しているときのルールでもある「飛んだ先のgrubでは、そのgrubを格納したosのカーネルしか選択しない」という制限は残りますが。
細かい話しですが、mint側のgrubをキャンセルして元のgrub戻る時はESCキーが効くのでしょうかね。
効かなければ、逆にmint側からubuntuにチェーンロードする定義をmint側grubに追加しておくか、最悪ctrl+alt+DELで再起動して戻る事も可能とは思いますが。

一番単純なのは以下でしょうか。
mintを立ち上げたい時は、一旦ubuntuを起動してupdate-grubを実行後、再起動すればubuntu側のgrubからmintを起動しても良い(非同期はない)
※「一旦ubuntu起動で、更に再起動して選択し直し」が、とても悔しいですよね。

最後に、私にとってはちょっと有用な情報がありましたので以下に。
古い情報なので、今も同じ仕様かは?ですが、1),2)まではHDD,SSDで見えました。
https://forums.ubuntulinux.jp/viewtopic.php?id=9593
【概要】
sudo debconf-show grub-pc | grep install_devices: ←表示コマンドなので安全かと。
1)インストール時に、どこにgrubを格納したかが表示される(らしい)
2)メーカ名、型番、シリアル番号? ← これで終わってたら該当ディスクの先頭、+-partXなどあればパーティションの先頭
3)インストール後に、grub-installで、grubを違う場所に何度インストールし直しても、上記の情報は書き換わらない(らしい)
4)grub-pcに大きなアップデートがあって、grubそのものを更新する場合は、この情報で更新先を判断してるので、勘違いトラブルになりやすい
このgrub格納先情報を書き換える場合は以下コマンドで。
sudo dpkg-reconfigure grub-pc ← メニュー出ますが、更新処理なので実行時は要注意

長くなり申し訳ありません。

オフライン

 

#27 2021-02-25 08:12:44

redred
メンバ
登録日: 2020-05-27

Re: Grub起動画面を交代させるには、Ubuntu側でどうコマンドを打ったらよいでしょうか?

chichinpuiさん

豊富な情報ありがとうございます。

今回とても勉強になりました。
試用目的でディストリビューションをインストールする場合は、
そのGrubはMBRへではなく、今回のように意図的にVBRへにすることで
お役御免や試用替えが楽になりそうだと思いました。
試用ディストリビューションを入れ替えたら、常用Ubuntu上でのupdate-grubだけで万事完了しそうです。

grubのチェーンロードは私にはハードルが更に高そうですが、秘奥義があるということを覚えておきます。
ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB