Grub2config

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

モデレータ: YoN, nyu

thinkpadnerd
記事: 1518
登録日時: 15/10/25(日) 14:00

Re: Grub2config

投稿記事 by thinkpadnerd »

シノバー さんが書きました: 21/07/14(水) 22:58 「shinobarは過去の人」などと言われてしまいました。
"old-timer" ... Barry さんは「古参」の意味で使われたのではないかと思います。

pre4 を legacy bios のマシンに使ってみました。

ThinkPad X121e (uefi bios ですが、出荷時の設定は legacy bios モード)
sda1 ... ntfs, windows リカバリー用。
sda2 ... ntfs, windows c: ドライブ、いくつかの puppy も同居。
sda4 ... ntfs, 工場出荷時リカバリー用。
sda5 ... ext2, データ等の置き場。save directory 方式の xenialpup がここにあります。

うまくいきました。ブートローダや menu.lst は sda1 にあります。

あと、細かいことですが、
メッセージ "Where the bootup loader install to?" は、文法的には
"Where to install the boot loader (to)?" のほうがよさそうです。( )内の to は省略可です。
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
アバター
タロ兵衛
記事: 739
登録日時: 08/07/08(火) 00:11
お住まい: よこはま
連絡する:

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

投稿記事 by タロ兵衛 »

シノバー さんが書きました: 21/07/14(水) 22:58 別件ですが、パピー創始者の バリーさんがこの Grub2configのことを紹介してくれました。
バリーさんブログ掲載おめでとうございます

UEFIは仕事でも難儀しております。
私レベルでは、有名所のディストリのブートを間借りするのが精一杯で。
最近時間が取れませんが、オリンピック連休で少し試してみたいと思います
neo実験君こと次期メインマシン
Intel Core i5-8400 2.80GHz
xenialpup64 7.5+lang_pack_ja-xenial64e
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

USBから起動しないことがある

投稿記事 by シノバー »

@thinkpadnerd さん、 @タロ兵衛 さん、ありがとうございます。

友人からもらったDynabook 2012年モデルで主にテストを繰り返していますが、USBからの起動ができるときとできないときがあります。
Dynabookの場合電源ON時に F12キー連打で起動デバイスを選択できるのですが、そこにUSBの型番が表示されない、すなわちBIOSがUSB機器を検出できていないので、これを選んでも失敗し、内蔵HDDから起動します。
ネット情報でも、USBの銘柄に依存するという情報も散見されます。

どうやらその理由と対策が分かった気がします。
Dynabookの場合電源ON時に F2キー連打でBIOSの設定に入ります。そこで何も変更せずにBIOS設定を抜け出し、再起動します。
今度はUSB機器を認識し、そこから起動できます。
すなわち、電源を入れてからBIOSがUSB機器を認識するのに時間が掛かるようで、その時間稼ぎをしてやればよいようことですね。
USBの銘柄に依存もうなづけます。USB3.1だから、新しいからとかは関係ないようです。
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

64bitパーティション

投稿記事 by シノバー »

パピー上の GPartedなどで作る場合は良いのだけれど、Ubuntuなどに ext4パーティションンを作らせると 64bitオプションが標準になっています。
この64bitの ext4パーティションを grub2はサポートしていますが、Grub4Dosはサポートしていません。

問題が生じるのは、旧いBIOSでWindowsがプレインストールされている場合、ブートパーティションが ntfsファイルシステムです。ここに grub2をインストールできないために、Grub4Dosを代わりに使うことにすると、64bitの ext4パーティション上にあるものはブートアップに失敗します。

Grub2qは vfatにはインストールできるのに、ntfsにはインストールできない。そこがそもそもの問題なんだけどなあ。
The bar master, Shino's Bar
http://shinobar.net/
アバター
タロ兵衛
記事: 739
登録日時: 08/07/08(火) 00:11
お住まい: よこはま
連絡する:

Re: 64bitパーティション

投稿記事 by タロ兵衛 »

シノバー さんが書きました: 21/07/17(土) 19:34 旧いBIOSでWindowsがプレインストールされている場合、ブートパーティションが ntfsファイルシステムです
これってUEFIのルール違反な気がします。先頭はVFATですよね
と、文句言ってもプリインストールじゃねぇ…
neo実験君こと次期メインマシン
Intel Core i5-8400 2.80GHz
xenialpup64 7.5+lang_pack_ja-xenial64e
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Re: 64bitパーティション

投稿記事 by シノバー »

シノバー さんが書きました: 21/07/17(土) 19:34Grub2qは vfatにはインストールできるのに、ntfsにはインストールできない。そこがそもそもの問題なんだけどなあ。
UEFI用の grubx64.efi はntfsオッケーなのに、MBR起動で使われる core.img がntfsサポートが無い」のが問題。core.img は vfat や ext のモジュールは組み込まれているらしいので、同様に ntfs のモジュールも組み込んだ形でコンパイルすればよいのではないか。でも、その方法が分からない……。
The bar master, Shino's Bar
http://shinobar.net/
カラフル
記事: 21
登録日時: 20/09/30(水) 13:15

Re: Grub2config

投稿記事 by カラフル »

シノバー さんが書きました: 21/07/18(日) 09:43 core.img は vfat や ext のモジュールは組み込まれているらしいので、同様に ntfs のモジュールも組み込んだ形でコンパイルすればよいのではないか。
grub2とその依存関係をインストールしてここを参考に

grub2-ntfs-install.sh
https://gist.github.com/qwerty12/bf393a ... 3ff3eae2de


ext2にフォーマットしたusbメモリにgrub2をインストール

例)対象デバイスがsdcの場合
grub-install --no-floppy --modules=ntfs --root-directory=/mnt/sdc1 --boot-directory=/mnt/sdc1/boot /dev/sdc
を端末で実行

/usr/local/frugalpup/grub2-mbr.tar.xzの中の/boot/grub/i386-pcフォルダを中身ごと
/sdc1に出来た/boot/grub/i386-pcに替えると上手く行きそうです

Bionicpup64で実験してます
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Re: Grub2config

投稿記事 by シノバー »

カラフル さんが書きました: 21/07/19(月) 19:14 例)対象デバイスがsdcの場合
grub-install --no-floppy --modules=ntfs --root-directory=/mnt/sdc1 --boot-directory=/mnt/sdc1/boot /dev/sdc
を端末で実行

/usr/local/frugalpup/grub2-mbr.tar.xzの中の/boot/grub/i386-pcフォルダを中身ごと
/sdc1に出来た/boot/grub/i386-pcに替えると上手く行きそうです
おお〜!!!そういう手があったのですね。ありがとうございます。

USBメモリを vfat/ntfs/ext2 いずれかにフォーマットし、 /mnt/sdb1 にマウントして
grub-install --no-floppy --modules="ext2 fat ntfs part_msdos part_gpt" --root-directory=/mnt/sdb1 --target=i386-pc --grub-setup=/bin/true /dev/sdb

モジュール part_gpt はデフォルトでは入らないようなので、加えました。 --grub-setup=/bin/true はMBRに書き込みしない設定で、USBメモリなら必要ないかも。
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

NTFSサポート

投稿記事 by シノバー »

Windows7プレインストール機はブートパーティションがNTFSフォーマットです。これに対処するため @カラフル さんの情報をもとに、USBメモリをNTFSでフォーマットし、起動に成功しました。しかし、Windows7プレインストールの実機では失敗しました。

Windowsはブートパーティションに /Boot というディレクトリを作ります、いっぽうGrub2のデフォルトのプレフィクスは /boot/grub です。
Grub2の core.img をGrub4Dosのgrldrが起動するのですが、grldrはパス名の大文字と小文字を区別しないので、/Boot内を探して、 core.img を見つけるのに失敗します。

結論として、/boot/grub/i386-pc/core.img を /Boot/grub/i386-pc/core.img にコピーすることで起動に成功しました。
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Grub2config preview 5

投稿記事 by シノバー »

Windows7プレインストール機などブートパーティションがNTFSである場合でもGrub2をインストールするよう対処しました。この場合はMBRブートのみの対応です(UEFIブート不可)。

grub2config-1.9.9-pre5
http://shinobar.server-on.net/puppy/opt/test/
↑からダウンロードし、テストください。
The bar master, Shino's Bar
http://shinobar.net/
カラフル
記事: 21
登録日時: 20/09/30(水) 13:15

Re: Grub2config

投稿記事 by カラフル »

シノバー さんが書きました: 21/07/21(水) 00:30 Grub2の core.img をGrub4Dosのgrldrが起動するのですが、grldrはパス名の大文字と小文字を区別しないので、/Boot内を探して、 core.img を見つけるのに失敗します。
--boot-directory=を足してboot以外のフォルダーを指定で回避出来そうな

例)
grub-install --no-floppy --modules="ext2 fat ntfs part_msdos part_gpt" --root-directory=/mnt/sdb1 --boot-directory=/mnt/sdb1/grub-boot --target=i386-pc --grub-setup=/bin/true /dev/sdb

menu.lstの

kernel /boot/grub/i386-pc/core.imgを

kernel /grub-boot/grub/i386-pc/core.imgに書き換え
添付ファイルを見るにはパーミッションが必要です
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Re: Grub2config

投稿記事 by シノバー »

@カラフル さん、ありがとうございます。その方法も考えましたが、FrugalPupとの互換性なども考え、core.img コピーの方法でいくことにします。
The bar master, Shino's Bar
http://shinobar.net/
アバター
シノバー
記事: 3138
登録日時: 09/03/21(土) 00:05
連絡する:

Grub2config preview 6

投稿記事 by シノバー »

grub2config-1.9.9-pre6 をアップしました。GUIが少し変わっています。
http://shinobar.server-on.net/puppy/opt/test/
The bar master, Shino's Bar
http://shinobar.net/
アバター
タロ兵衛
記事: 739
登録日時: 08/07/08(火) 00:11
お住まい: よこはま
連絡する:

Re: Grub2config

投稿記事 by タロ兵衛 »

使ってみました(grub2config-1.9.9-pre5)
使用PCは2013〜4年ぐらいのwindows7-64 homeマシン
(DELL Inspiron 3647 i3)
bootはもともとvfatなので心配はしていませんでしたが、
予想通りあっけなくインストールできました。
迷った所は、puppy本体のインストールで grub4dos 入れるか?の問でしょうか
後でGrub2config入れるからnoにしましたが、正解だったようです

正常にPuppyもwindowsも普通に起動します
添付ファイルを見るにはパーミッションが必要です
最後に編集したユーザー タロ兵衛 [ 21/08/06(金) 21:42 ], 累計 1 回
neo実験君こと次期メインマシン
Intel Core i5-8400 2.80GHz
xenialpup64 7.5+lang_pack_ja-xenial64e
thinkpadnerd
記事: 1518
登録日時: 15/10/25(日) 14:00

Re: Grub2config

投稿記事 by thinkpadnerd »

pre6 を使ってみました。

マシンは ThinkPad X121e, windows 10 (出荷時は windows7)。
UEFI bios ですが、legacy bios モード。

sda1 ... ntfs, windows リカバリー用。
sda2 ... ntfs, windows c: ドライブ、いくつかの puppy も同居。
sda4 ... ntfs, 工場出荷時リカバリー用。
sda5 ... ext2, データ等の置き場。save directory 方式の xenialpup がここにあります。

残念ながら、うまくいきませんでした。
-> 添付画像
ファイル normal.mod は存在するのですが...

grub4dos config で修復しました。
あと、細かいことですが、生成される menu.lst の "default=" が "defalt=" になっています。
添付ファイルを見るにはパーミッションが必要です
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
返信する