Grub2config 開発ノート

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

モデレータ: YoN, nyu

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

Grub2config 開発ノート

投稿記事 by シノバー »

Grub4DosはGPT/UEFIに対応していません。
そこでGrub4DosConfigの後継としてGrub2Configを開発しました。
Grub4DosConfigと同様、インストール済みのパピーを自動検出し、WindowsやUbuntuなどとのマルチプートも実現します。
旧来のMBRもサポートするとともに、GPT/UEFIもサポートします。
UEFI Secure BootにはGyrogさんが組み込んだ MOK manager で対応。
ヘルプファイル/English

最新版は grub2config-2.1.1(2024-09-24) viewtopic.php?p=29353#p29353
日本語化は grub2config_NLS-2.1_ja.pet
https://shinobar.net/puppy/opt/grub2config/
↑からダウンロードください。

v2.1 の既知のバグ(v2.1.1で修正) grub2config-2.1 が生成する「RAM mode」の menuentry が間違えてます。
生成された grub.cfg を編集してください。
「RAM mode」の menuentry の中「pfix=fsck」→「pfix=ram」に修正ください。

XenialPup 7.5以降でないと動きません。
Grub2Configにはパピーのインストール機能はありません。手動でインストールするか、 Frugalinstaller の最新版をご利用ください。
同じ所 https://shinobar.net/puppy/opt/frugalinstaller/
から frugalinstaller-2.2.8.petfrugalinstaller_NLS-2.2.7-ja.pet をダウンロードください。

変更履歴:
#2018-09-18 grub4dosconfig v1.9.4: merge woof, fix chain loading grub2, always install wee as for mbr, fix for full installed (mavrothal)
#2021-08-12 grub2config v2.0: grub2 for uefi
#2021-08-20 v2.0.1: was missing nls, remove pdrv option, downgrade grub to 2.0.2
#2024-03-25 v2.0.2: add SPLASH image and icon (josejp2424, nilsonmorales) ; parse drives with parted (rather than fdisk) and fix failed NVME/eMMC/GPT partition detection (wizard)
#2024-08-27 v2.0.8: graphical boot menu layout, ucode.cpio support, drive icon, launch gparted, proceed without 'boot' flag viewtopic.php?p=29249#p29249
#2024-09-05 v2.0.9: gtk2dialog, without guess_fstype viewtopic.php?p=29277#p29277
#2024-09-15 v2.1: mbr stuff ext4 support no need wee nor grub4dos, pdrv option, check target space, refresh_drive_icons,
#2024-09-24 v2.1.1: RAM mode entry, sort detected os, background2 for removable devices

(以下は過去記事)
開発途中の 1.9.9 preview版 http://shinobar.server-on.net/puppy/opt/test/
・一時期の Windows10はESP(ブートパーティション)がドライブ先頭(sda1)ではなく、2番目(sda2)にあります。 pre2 でこれに対応しました。
・旧来のBIOSにインストールされている Windowsでは先頭パーティション(sda1)がntfsになっています。 pre3 でこれに対応しました。
・pre4ではサーチ範囲の指定方法を変更しています。またFrugalPupから必要なファイルを抜き取って同梱しています。
・pre5はNTFSブートパーティションへのGrub2インストール。EasyOSやFatdogの検出など、サーチを少し改善しています。
・pre6はGUIを多少変えています。
・pre7はMBRブートのさいの grub2のインストール先を /boot.pup/grub に変更しています。


走れパピー
本家フォーラムの記事はこちらです。
添付ファイルを見るにはパーミッションが必要です
最後に編集したユーザー シノバー [ 24/09/29(日) 13:15 ], 累計 44 回
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
アバター
シノバー
記事: 3275
登録日時: 09/03/21(土) 00:05
連絡する:

Re: Grub2Config preview1.1

投稿記事 by シノバー »

ごめんなさい。さきの grub2config-1.9.9-pre1 はMBRにのみインストールしてしまいます。

http://shinobar.server-on.net/puppy/opt/test/
↑から grub2config-1.9.9-pre1.1 ダウンロードし、テストください。UEFIにも対応です。
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
thinkpadnerd
記事: 2292
登録日時: 15/10/25(日) 14:00

Re: Grub2Config

投稿記事 by thinkpadnerd »

ThinkPad L440 でテストしてみました。

LICK のブートローダをアンインストールした後、usb メモリから fossapup64 を起動して grub2config を動かしてみました。
(追記: UEFI モードで secure boot は無効にしてあります。)

sda1 ... ntfs, windows リカバリー用
sda2 ... fat32, windows ブートパーティション
sda4 ... ntfs, windows c: ドライブ、いくつかの puppy も同居
sda5 ... ext2, データ等の置き場

ブートローダをインストールした後、grub.cfg の編集に進んだのですが、ファイルは空でした。
それで、lickgrub.cfg の中身をコピー貼り付けして再起動したら、windows が起動してきました。

sda1 に起動関連ファイル一式がインストールされてしまったようです。

LICK でブートローダをインストールし直して、復元しました。
ThinkPad X121e (Precise 571 / Tahr 605 / Tahr64 606 / Xenial 7.5 / Bionic32)
CPU AMD C-50 1.0GHz, RAM 4GB
ThinkPad L440 (Xenial 7.5 / Bionic64 / Fossa64)
CPU intel Celeron 2950M 2.0GHz, RAM 4GB
アバター
シノバー
記事: 3275
登録日時: 09/03/21(土) 00:05
連絡する:

Re: Grub2Config

投稿記事 by シノバー »

hinkpadnerd さんが書きました:sda1 に起動関連ファイル一式がインストールされてしまったようです。
それはご迷惑をお掛けしました。さっそくのテストありがとうございます。
ある時期のWindowsはESPが先頭パーティションではないところに陣取るようです。grub2configはそれにも対処してるはずだったのですが、手元にそういうテスト機がないために確認できていませんでした。コードをいま一度精査してみます。pre1ではなくてpre1.1ですよね?
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
thinkpadnerd
記事: 2292
登録日時: 15/10/25(日) 14:00

Re: Grub2Config

投稿記事 by thinkpadnerd »

シノバー さんが書きました: 21/07/03(土) 22:13 pre1ではなくてpre1.1ですよね?
pre1.1 でテストしました。
ThinkPad X121e (Precise 571 / Tahr 605 / Tahr64 606 / Xenial 7.5 / Bionic32)
CPU AMD C-50 1.0GHz, RAM 4GB
ThinkPad L440 (Xenial 7.5 / Bionic64 / Fossa64)
CPU intel Celeron 2950M 2.0GHz, RAM 4GB
アバター
シノバー
記事: 3275
登録日時: 09/03/21(土) 00:05
連絡する:

Re: Grub2Config

投稿記事 by シノバー »

thinkpadnerd さんのおかげで原因が分かりました。pre1.1 はドライブ先頭に fat32でフォーマットされたブートパーティションがあることを前提としており、それ以外の状況に対処できていません。これを修正した次のリリースまでの間、上記条件でこしらえたUSBメモリなどで pre1.1をテストください。

USBメモリにインストールした場合、PCがこれを認識していない場合があります。電源を切り、USBメモリを外したり入れたりして何度も試していると、突如認識する場合があります。いちどUSBブートに成功すると、次からはOKです。
ブータブルディバイスをPCが記憶しているとかがあるのかな?
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
アバター
シノバー
記事: 3275
登録日時: 09/03/21(土) 00:05
連絡する:

Grub2config preview 2

投稿記事 by シノバー »

一時期の Windows10はESP(ブートパーティション)がドライブ先頭(sda1)ではなく、2番目(sda2)にあります。 pre2 でこれに対応しました。
GPT/UEFIではない旧来のBIOSにインストールされている Windowsでは先頭パーティション(sda1)がntfsになっています。の場合は起動に失敗します。
grub2config-1.9.9-pre2
http://shinobar.server-on.net/puppy/opt/test/
↑からダウンロードし、テストください。

我が家のメインPCには旧来のBIOSでWindows7がインストールされており、第1パーティション(sda1)がntfsです。
これでテストしたところ起動に失敗しました。同様のパーティションを切ったUSBメモリでは難なく起動するように見えたのですが、BIOSをCSMモードにしたら、しっかり失敗しました。

旧来のBIOSでは Grub4Dosをお使いかと思います。 そのさいの /menu.lst は /menu.lst.bak としてバックアップされます。
起動に失敗したとき、「Old menu」という項目が現れたら、これを選んでください。
あるいは、何らかの方法でパピーを起動し、 起動パーティションの /menu.lst.bak を /menu.lst に戻し、再起動を試みてください。
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
thinkpadnerd
記事: 2292
登録日時: 15/10/25(日) 14:00

Re: Grub2Config

投稿記事 by thinkpadnerd »

pre1.1 の時と同様の方法でテストしました。(sda2 がブートパーティション)

残念ながら、windows が起動してしまいます。

bios でブートデバイスを選択する画面を見てみると、puppy linux - grub2 という項目があるのですが、これを選択しても何も起こりません。
ThinkPad X121e (Precise 571 / Tahr 605 / Tahr64 606 / Xenial 7.5 / Bionic32)
CPU AMD C-50 1.0GHz, RAM 4GB
ThinkPad L440 (Xenial 7.5 / Bionic64 / Fossa64)
CPU intel Celeron 2950M 2.0GHz, RAM 4GB
アバター
シノバー
記事: 3275
登録日時: 09/03/21(土) 00:05
連絡する:

Re: Grub2config preview 2.1

投稿記事 by シノバー »

あららあ、どうしてこれまで気が付かなかったんだろう。これまで内蔵HDDからのUEFIブートはNGでした。
修正した pre2.1をアップしました。

http://shinobar.server-on.net/puppy/opt/test/
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
thinkpadnerd
記事: 2292
登録日時: 15/10/25(日) 14:00

Re: Grub2config

投稿記事 by thinkpadnerd »

シノバー さんが書きました: 21/07/07(水) 23:36 修正した pre2.1をアップしました。
うまくいきました。USB メモリを差し込んであるとそちらの menu が読み込まれるので、抜いておく必要がありました。

grub.cfg を編集して、それぞれの puppy を pfix=ram で起動する項目を付け加えました。
ThinkPad X121e (Precise 571 / Tahr 605 / Tahr64 606 / Xenial 7.5 / Bionic32)
CPU AMD C-50 1.0GHz, RAM 4GB
ThinkPad L440 (Xenial 7.5 / Bionic64 / Fossa64)
CPU intel Celeron 2950M 2.0GHz, RAM 4GB
アバター
シノバー
記事: 3275
登録日時: 09/03/21(土) 00:05
連絡する:

Re: Grub2config

投稿記事 by シノバー »

thinkpadnerdさん、テストありがとうふぉざいます。とりあえずは動くということで一安心しています。

RAMモードのメニューについて複数のパピーがインストールされた環境では、そのトップにのみ付加しようかと考えています。トップとは、このGrub2configを走らせたパピーです。

サーチの範囲をどのドライブにするか、そのユーザーインターフェースをどのようにしようか思案中です。

次の previewは、NTFSをサポートするものになります。NTFSにgrub2をインストールできないのは盲点でした。代わりにGrub4Dosで行こうと思います。
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
アバター
シノバー
記事: 3275
登録日時: 09/03/21(土) 00:05
連絡する:

Grub2config preview 3

投稿記事 by シノバー »

旧来のBIOSにインストールされている Windowsでは先頭パーティション(sda1)がntfsになっています。このケースではgrub2を使用せず、代わりにGrub4Dosによることでサポートします。

grub2config-1.9.9-pre3をアップしました。
http://shinobar.server-on.net/puppy/opt/test/
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
アバター
シノバー
記事: 3275
登録日時: 09/03/21(土) 00:05
連絡する:

Grub2config preview 4

投稿記事 by シノバー »

Grub2config preview 4 をアップしました。
サーチ範囲の指定方法を変更しています。ヘルプファイル(英文)も更新しています、

FrugalPupから必要なファイルを抜き取って同梱しているのでファイルサイズが大きくなっています。
grub2config-1.9.9-pre4
http://shinobar.server-on.net/puppy/opt/test/

まもなく正式リリースを迎えます。日本チーム得意の徹底的テスト、突っ込みをお願いします。
添付ファイルを見るにはパーミッションが必要です
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
thinkpadnerd
記事: 2292
登録日時: 15/10/25(日) 14:00

Re: Grub2config

投稿記事 by thinkpadnerd »

pre4 を以前のテストと同じ環境で使ってみました。(UEFI モード、sda2 がブートパーティション)

うまくいきました。ただ、電源を入れる際に usb メモリが差さっていると、そちらの grub.cfg を読み込んでしまいます。ファイル名が同じなので仕方ないですね。
ThinkPad X121e (Precise 571 / Tahr 605 / Tahr64 606 / Xenial 7.5 / Bionic32)
CPU AMD C-50 1.0GHz, RAM 4GB
ThinkPad L440 (Xenial 7.5 / Bionic64 / Fossa64)
CPU intel Celeron 2950M 2.0GHz, RAM 4GB
アバター
シノバー
記事: 3275
登録日時: 09/03/21(土) 00:05
連絡する:

バリーさんに見つかったらしい

投稿記事 by シノバー »

thinkpadnerdさん、テストと報告ありがとうございます。UEFIの実装はマシンにより異なるらしく、よく分からないことが多いです。

別件ですが、パピー創始者の バリーさんがこの Grub2configのことを紹介してくれました。
https://bkhome.org/news/202107/grub2con ... b4dos.html

「shinobarは過去の人」などと言われてしまいました。そうです、ゾンビのごとく復活です(笑)。
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
返信する