Grub2config 開発ノート

以上のフォーラム以外の開発者の話題

モデレータ: YoN, nyu

アバター
シノバー
記事: 3328
登録日時: 09/03/21(土) 00:05
連絡する:

Re: Grub2config 開発ノート

投稿記事 by シノバー »

ルピーさん、テストありがとうございます。たくさんテストしてたくさん問題点を出してくれました。
ルビー さんが書きました: 24/09/18(水) 17:40パピーをシャットダウンすると、通常ならばpupsaveの書き出しが始まりますが、ブルースクリーンになり中央に下記のダイアログが表示されます。
Press ENTER key to save session...
Or, press TAB then ENTER to not save session...
Or, wait 8 seconds to shutdown without saving
session...
  <SAVE>  <NO SAVE>
「SAVE」を押せば手動でpupsaveが保存されますが、押さないとそのまま保存されずに終わります。
初回起動時のpupsave保存はできたのですが、2回目以降でこうなりました。
これは thinkpadnerdさんがかかれているように、一部のパピーのバグ、というか仕様? PCのハードとドライバの相性の問題で Enterキーが聞かない場合には悲惨です。
見かけ、SAVEがデフォルトみたいだが、Enterを押さない、または受け付けられないと NOSAVE の扱いになるのはおかしいよなあ。
それは、まあ、置いておきます。
ルビー さんが書きました: 24/09/18(水) 17:40パーティションテーブルをgptで実験してみましたが、MBR、UEFI共にブートローダーがインストールできませんでした。
ext4パーティションなので、UEFIが入らないのは当然として、MBRも入らないのは仕様なのですよね。
はい、仕様です。
ルビー さんが書きました: 24/09/18(水) 17:40Legacy起動ではBionicpup64がシャットダウンしても正常終了できずpupsaveも保存されません。
Fossapup64は正常終了して、pupsaveも保存されます。
何だろう。よく分からないです。
ルビー さんが書きました: 24/09/18(水) 17:40grub2configの文字表示で文字化けのような箇所がありました。
ブートローダーのインストール先で「nブート・パーティション:sdb1(ext4)」となり、行頭に「n」が入ります。
直しておきます。
ルビー さんが書きました: 24/09/18(水) 17:40パピーをUSBメモリからRAMモード起動すると、USBメモリはマウントされない状態で起動します。
この状態でfrugalinstallerを動かすと、USBメモリの中のパピーのファイル検出には成功しますが、ファイルのコピー時にエラーが出て止まりました。
frugalinstaller.logには下記のメッセージが書かれていました。
cp: cannot stat '/mnt/sda1/fossapup64-9.6/vmlinuz': No such file or directory
USBメモリをマウントしてからfrugalinstallerを起動すれば、正常に動作しました。
ああ〜、それ盲点だったかも。考えてみれば USBメモリが抜かれている場合だってありますよね。なんとかします。

ほんとうにたくさんのテストと報告ありがとうございます。助かります。
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
thinkpadnerd
記事: 2531
登録日時: 15/10/25(日) 14:00

Re: Grub2config 開発ノート

投稿記事 by thinkpadnerd »

grub2config とは関係ないのですが、usb から起動した場合の終了時の動作について

私の記憶が正しければ、昔の puppy では、何分か忘れましたがデフォルトで「保存間隔」が設定されていて、終了時は自動保存されたと思います。

仕様変更により、「保存間隔」は "0" になり、終了時に保存するか否かを尋ねるようになりました。もちろん、save アイコンで手動保存することはできます。(「保存間隔」はイベントマネージャで好みの値に設定できます。終了時の自動保存も有効になります。)

現在は、X 終了前に尋ねますが、過渡期には X 終了後に尋ねるようになっていました。そのため、違和感を感じる人もいたかもしれません。

日本では停電はめったに起きませんが、保存間隔 "0" では停電したら作業内容は全て失われてしまいます。(ノートパソコンでバッテリーが生きていれば別です)
一方で、設定等をいじり倒した後、保存せずに終了すれば、すべてご破算にできるというメリットもあります。 :)
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
アバター
ルビー
記事: 1282
登録日時: 14/11/24(月) 12:12

Re: Grub2config 開発ノート

投稿記事 by ルビー »

thinkpadnerd さんが書きました: 24/09/18(水) 18:18 イベントマネージャで「保存間隔」を設定すれば、終了時に自動保存されます。
そうでしたか。
保存期間「0」で、終了時の保存もしなくなるとは思いませんでした。
Fossapup64 9.6はOptiPlex 3070のUSBメモリ起動で運用していますが、セッションの保存の画面を見てみたら、「シャットダウン時に保存するか否かを尋ねる。」のチェックボックスがあります。
保存期間も初期設定の 0 を 180 に設定して運用していますが、すっかり忘れてました。

この仕様にパピーの初心者がすぐに気が付くのかは、とても疑問に思います。
初回起動時の保存が普通にできてしまうので、やっとUSBメモリで起動して使えると喜んでいるところに、pupsaveを保存できないと言う落とし穴みたいです(^^;。
シノバー さんが書きました: 24/09/18(水) 22:38何だろう。よく分からないです。
GPT/UEFI PCのLegacy起動は、あまり使わないので挙動が良く分かっていません。
1つ面白いことがあって、パピーのUEFI起動ではOptiPlex 3070の内蔵SSDが見えないのですが、Legacy起動すると何故か見えます。
カーネルは同じなのに何でだろうと不思議です。
あまり中をいじりたくないPCなので、内蔵SSDにファイルを書き込んだりはしていません。
試してみたパピーは、Bionicpup64とFossapu64です。
thinkpadnerd
記事: 2531
登録日時: 15/10/25(日) 14:00

Re: Grub2config 開発ノート

投稿記事 by thinkpadnerd »

ルビー さんが書きました: 24/09/19(木) 13:18 GPT/UEFI PCのLegacy起動
GPT - UEFI
MBR - legacy BIOS
という対応になると思います。GPT と MBR は両立しません。ディスク管理方法の違いなので、MBR でなければ GPT ということになります。

追記
内蔵のディスクに関してはそうなんですが、ふと USB メモリは? と思って gparted で見てみたら、"msdos" となっていました。(fat32 フォーマットの場合)

追記2
例外がありました。

GPT/MBR ハイブリッドパーティション
https://wiki.gentoo.org/wiki/GRUB/ja#BIOS_.E3.81.A8_GPT

なかなかリスキーな手法のようです。
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
アバター
シノバー
記事: 3328
登録日時: 09/03/21(土) 00:05
連絡する:

grub2config-2.1.1

投稿記事 by シノバー »

grub2config-2.1 が生成する「RAM mode」の menuentry が間違えていたものの修正です。

grub2config-2.1.1.pet (2024-09-24)
日本語化は grub2config_NLS-2.1_ja.pet
https://shinobar.net/puppy/opt/grub2config/
↑からダウンロードください。

Change log:
#2024-09-24 v2.1.1: RAM mode entry, sort detected os, background2 for removable devices
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
yuknak
記事: 54
登録日時: 21/05/15(土) 12:11

Re: Grub2config 開発ノート

投稿記事 by yuknak »

Grub2の起動動作について疑問があります。
現在内蔵 SSD/HDD に Puppy(A,B)をインストールしてありますが、
これを外部USBメモリの Fat32パーティションにインストールした
Grub2のブートローダーから起動する場合の問題ですが、
(Windowsとデュアルブートしていると 同一デバイス上に
Grub2ブートローダーをインストールした場合、Windowsの
パージョンアップなどでブートローダーが消されてしまうので)
その外部 USBメモリに Ext4パーティションを作成して、そこにも
Puppy(C)をインストールして この Grub2ブートローダーから
Puppy(C)を起動しようとしても 内蔵HDD/SSDの Puppy(A)が
起動してしまい、Puppy(C)が起動しません。
grub.cfg の UUIDの指定は確認しましたが間違いはありません。
grub.cfg に Puppy(A,B) の 起動を記述してなくても
(UUIDを指定していない) 内蔵 HDD/SSD上の Puppyが起動してしまいます。
また悩ましいのは、必ずそうなるわけではなく 10回に 1度程度
Puppy(C)が起動することがあります。
Puppy(C)が起動する場合になにか特別な操作をしたわけではなく
ただ単に 起動 > シャットダウン を繰り返していて、
何がトリガーになって Puppy(C)が起動するのか謎です。
ただ Puppy(C)以外が起動するのは常に デバイス名の早い方
(/dev/sdbx ではなくて /dev/sdax)が起動しているので
Grub2が Puppyの起動に際して UUIDの指定を無視して
ストレージを順番にスキャンして Puppyパーティションが見つかったら
それを起動しているような感じです。
内蔵 HDD/SSDの Puppyパーティションに hiddenフラグを付けても
そのパーティションの Puppy(A,B)が起動してしまいます。
Grub2のブートプロセスで パーティションを見えなくするような
方法はないのでしょうか?
(デスクトップ機の場合 HDD/SSDを切り離すことは比較的簡単なのですが
Note-PC ではそれが出来ないので困っています)
現象を確認している grub2config のバージョンは 2.02ですが
Fossapup64 9.5 simple r2 でインストールした USBメモリでも
同じ現象が起きていたと思います。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Fossapup64/9.5 on ASUS P8Z68-M Pro &
Sony-Vaio SVT13128CJS/ i5-3317U 1.7GHz / 8GB
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
thinkpadnerd
記事: 2531
登録日時: 15/10/25(日) 14:00

Re: Grub2config 開発ノート

投稿記事 by thinkpadnerd »

yuknak さんが書きました: 25/09/17(水) 14:14 その外部 USBメモリに Ext4パーティションを作成して、そこにも
Puppy(C)をインストールして この Grub2ブートローダーから
Puppy(C)を起動しようとしても 内蔵HDD/SSDの Puppy(A)が
起動してしまい、Puppy(C)が起動しません。
grub2config の最新バージョンは 2.1.1 ですが、改善されてはいないでしょうか。

あと、bios (uefi システムであっても) でデバイスの起動順位を指定できるなら、usb デバイスを優先にしておくとか...

追記
現に usb を読みに行ってるのなら、これは意味がないですね。 :oops:
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
yuknak
記事: 54
登録日時: 21/05/15(土) 12:11

Re: Grub2config 開発ノート

投稿記事 by yuknak »

thinkpadnerd さん

いつも迅速なアドバイスありがとうございます。
grub2config の最新バージョンは 2.1.1 ですが、改善されてはいないでしょうか。
その通りのようです。
2.1.1 pet をインストールして、それで Grub2ブートローダーを再作成したら
見事 USB側の Puppyが起動するようになりました。
(まだ 3回ほどしかリブートを試していませんが)
2.0.2でも時々 USB側が起動していたのは、パーティション上の pupsaveなどの
存在を検索するタイミングなどの問題だったんでしょうか?
内部 (SATA) HDDなどに比べて、USBメモリはかなり応答が遅いでしょうから
指定した UUID内の 起動に必要なファイルの検索を待ちきれずに、
内部ストレージデバイスの検索に移ってしまっているとか?
いずれにしてもあれこれ試しながら十数回 ブートローダーをインストールしても
解決しなかった疑問がスッキリしました。
感謝です。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Fossapup64/9.5 on ASUS P8Z68-M Pro &
Sony-Vaio SVT13128CJS/ i5-3317U 1.7GHz / 8GB
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
返信する