[linux] opstart van iso op disk, wat gaat hier fout?
Der
cl3m0t op gmail.com
Zo Jun 2 17:19:28 CEST 2019
On 02-06-19 14:07, Julien Michielsen wrote:
> 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)
>
Secondly, in grub-legacy, the partition number starts at 0, not 1 like
in Linux, so subtract 1 from the linux partition number. And in *grub2*,
it starts at *1*.
> 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")
>
WAAROM??? dit heb ik eerder geschreven:
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile
noprompt noeject
# /casper/vmlinuz.efi voor 64 bit kernel zie:
https://help.ubuntu.com/community/Grub2/ISOBoot/Examples
en ook dit:
initrd (loop)/casper/vmlinuz.lz
echter je maakt er weer:
initrd (loop)/casper/vmlinuz
WAAROM???
> 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!
Der
Meer informatie over de Linux
maillijst