これは USB メモリ で 行った物ではありません 計算機本体の Linux で 行ったものです。
この Linux で 見た USB メモリは /dev/sde になっています。 都度都度 変わると考えておいた方が 良いでしょう
計算機に Linux 等が インストールされています。 今回は その計算機に USB メモリを 挿入して
その USB メモリ に grub-install を行い また 他の OS も 検出する様にしてみる という 場合です。
計算機の 概要 をみておきます というか 取り付けられた ディスクの構成 です。
計算機 は ”product: HP xw4600 Workstation (RV724AV) ” と いうものです。
この計算機で grub-install を 行います。
条件として USB メモリは mount されているものとします。 ( 最初の領域 です。)
grub-install する 計算機で USB メモリは /dev/sde で マウント しているのは /dev/sde1 となっています。
こういう 条件で grub-install を 行います。
マウント 先ですので ”--boot-directory=/mnt/boot ”に なっていますが ” /dev/sde ”に インストール します。 ” /dev/sde1 ” では ありません。
root@sla8p58:~# grub-install --target=i386-pc --debug --boot-directory=/mnt/boot /dev/sde
続いて grub-mkconfig です。
root@sla8p58:~# grub-mkconfig -o /mnt/boot/grub/grub.cfg ... Warning: os-prober will not be executed to detect other bootable partitions. Systems on them will not be added to the GRUB boot configuration. Check GRUB_DISABLE_OS_PROBER documentation entry. done
この場合は 一組 の 起動項目しか 作成されません 。 他の Linux 等の 項目はありません。
”/etc/default/grub ”と いう ものが できていない linux もあるようですが 今回試みたものは 幸いにも 存在しているようです、
また os-prober 言うものもあるので ”/etc/default/grub ” を 変更してこれを 他の Linux 等の 検出も試みます。
root@sla8p58:~# cd /etc/default/ root@sla8p58:/etc/default# cp -av grub 20210911_grub_ORG 'grub' -> '20210911_grub_ORG' root@sla8p58:/etc/default# echo "GRUB_DISABLE_OS_PROBER=false" >>grub root@sla8p58:/etc/default# diff -s grub 20210911_grub_ORG 29d28 < GRUB_DISABLE_OS_PROBER=false
改めて grub-install を 試みます。
root@sla8p58:~# grub-install --target=i386-pc --debug --boot-directory=/mnt/boot /dev/sde ... grub-install: info: saving <105,0,512>. grub-install: info: saving <106,0,512>. grub-install: info: saving <107,0,512>. grub-install: info: saving <108,0,512>. Installation finished. No error reported.
続いて ” grub-mkconfig ” を 行います。
root@sla8p58:~# grub-mkconfig -o /mnt/boot/grub/grub.cfg ... Found Windows 7 on /dev/sda1 Found Slackware 14.2 on /dev/sda10 Found Microsoft Windows XP Professional on /dev/sda2 Found Windows NT/2000/XP on /dev/sda5 Found unknown Linux distribution on /dev/sda7 Found Slackware 15.0 x86_64 on /dev/sda8 Found unknown Linux distribution on /dev/sdb1 Found Debian GNU/Linux 10 (buster) on /dev/sdb3 Found Slackware 14.2 on /dev/sdb5 Found Vine Linux 6.5 (6.5) on /dev/sdb7 Found FreeDOS on /dev/sde1 Found Linux From Scratch (10.0) on /dev/sde2 done
すごいですな USB メモリ の ” FreeDOS ” や ” Linux From Scratch (10.0) ” も 検出 してるようです。
これで 計算機の 起動を USB から 起動するようにして 起動させる事ができれば ちゃんちゃん なのですが
どういう ことなのか 不明ですが 起動できるものと できないものがあるのです。
” root=XXX ” で ” XXX ”の 所を ” /dev/YYY ” とか ” PERTUUID ”また ” UUID ” 等に しないと いけない場合があります。
起動確認する必要があるのです。 まあ 確認するのは当たり前なのですが?
残念ながら このままでは 起動しないのです。
最低限 暫定 の grub.cfg をみておきます。 えー 抜粋ですので 全部ではありませんが このようになっています。
えーと 御覧に なられたように なかなか上手くはいかないようです。
幸いな事に USB メモリの Linux は 別の 計算機 わずか1台 ですが 起動できたので 良し と しておきます。
にゃんたろう 拝!
2022年 8月 30日 火曜日 21:02:53 JST 作成