[linux] opstart van iso op disk, wat gaat hier fout?

Julien Michielsen michkloo op xs4all.nl
Zo Jun 2 14:07:24 CEST 2019


Der schreef op 2019-06-01 16:16:
> On 31-05-19 11:03, Julien Michielsen wrote:
> 
>> 
>> Ik heb een partitie van 2 GBb (grote getallen zijn mooi, nr 23 is mijn
>> iso-partitie) bestemd tot iso-partitie.  En mijn /etc/grub.d/40_custom
>> ziet eruit als volgt:
>> ,.. > menuentry "ubuntu-18.04.2-ISO" {
>>          set isofile=(hd0,22)/ubuntu-18.04.2-desktop-amd64.iso
>>          loopback loop (hd0,22)$isofile
>>          linux (loop)/vmlinuz boot=casper iso-scan/filename=$isofile 
>> noprompt noeject
>>          initrd (loop)/casper/vmlinuz
>> }
> 
> Ik zie dat je de partitie waarop je iso file staat en het pad
> veranderd hebt. Vervang bovenstaande menuentry met het het volgende,
> de toelichting heb ik al gegeven.
> 
> menuentry "ubuntu-18.04.2-ISO" {
>         set isofile="/ubuntu-18.04.2-desktop-amd64.iso"
>         loopback loop (hd0,23)$isofile
>         linux (loop)/casper/vmlinuz.efi boot=casper
> iso-scan/filename=$isofile noprompt noeject
>         initrd (loop)/casper/vmlinuz.lz
> }
> 
> 
>> Na dit geplaatst te hebben het commando
>> sudo grub update
>> 
>> en na uitvoering daarvan geen boot, wel de foutmelding
>> 
>> error invalid file name '(hd0,22)/ubuntu-18.04.2-desktop-amd64.iso'
>> error no server is specified
>> error you need to load the kernel first
>> 
>> En ik ben verstomd: De bovenste regel uit de melding
>> "invalid file name '(hd0,22)/ubuntu-18.04.2-desktop-amd64.iso'"
>> lijkt bijna fout te zijn: sda23 is toch hd0,22?!!!
>> 
> Nee, sda23 is hd0,23. De melding invalid file name krijg je omdat jouw
> _set_ _isofile_ regel fout is!

Dit laatste vind ik een beetje verbazend, en - denk ik - minder juist
dan mijn specificatie. Namelijk:
op 
https://superuser.com/questions/182161/grub-how-find-partition-number-hd0-x
kun je lezen:
An example is: hda1 = (hd0, 0)

Finally, grub does not differentiate between hd and sd devices, so 
everything is labeled hd.

Thus, in your case, your grub entry for /dev/sda6 should read (hd0, 5)

Overeenkomstig daarmee zou /dev/sda23 gespecificeerd moeten worden als 
(hd0,22).

Maar goed: mijn specificatie wrkte niet, en gaf de melding
"error invalid file name".
Ik heb dus jouw suggestie gebruikt, en proberen te booten met (hd0,23).
(Niet na eerst de vmlinuz.efi goed in te hebben gevuld als "vmlinuz")

Met jouw correctie aangebracht, en proberend te booten vanaf een iso op
(hd0,23) kreeg ik meer dan een scherm vol meldingen, eindigend met de 
regel

---[error Kernel panic not syncing: VFS: unable to mount root fs on 
unknown
-block (1,0) ] ---

Daarop dacht ik: Der heeft het inderdaad mis, en ik corrigeerde hd0,23 
naar
hd0,22.  Daarna startte ik op, en kreeg precies de zelfde melding.
Iemand die een suggestie heeft wat er mis kan zijn?
Mogelijk overbodig, maar ik geef het toch mee: de inhoud van de 
grub-correctie-
file (/etc/grub.d/40_custom):

#!/bin/sh
echo "Adding 40_custom." >&2
exec tail -n +4 $0
# This file provides an easy way to add custom menu entries.  Simply 
type the
# menu entries you want to add after this comment.  Be careful not to 
change
# the 'exec tail' line above.

menuentry "ubuntu-18.04.2-ISO" {
         set isofile="/ubuntu-18.04.2-desktop-amd64.iso"
         loopback loop (hd0,22)$isofile
         linux (loop)/casper/vmlinuz boot=casper 
iso-scan/filename=$isofile noprompt noeject
         initrd (loop)/casper/vmlinuz
}

Dank!
-- 
Julien Michielsen
julien op michkloo.xs4all.nl


Meer informatie over de Linux maillijst