Fedora a Mandriva na jednom disku

Než jsem si nainstaloval Fedoru 16 používal jsem Mandrivu 2011, kterou mám stále na disku. Při startu PC je v grubu 2 pod možností volby linux (on /dev/sda5). Pokud zvolím tuto možnost objeví se na obrazovce :
vga=788 is deprecated. Use set gfxpayload=800x600x16, 800x600 before linux command instead.
error: no such partition
press and key to continue…

Po stisknutí klávesy se objeví hláška:

kernel panic-not syncing: vfs: unable to mount root fs on unknown-bloc (0,0)
id:1, comm: swapper not tained 2.6.38.7-desktop-1mnb2#1

a ještě další text a ikony na klávesnici se rozblikají a pak už jen pomůže reset pro restart

Zajímá mě co bych měl a kde nastavit abych mohl používat obě distribuce, kdysi dávno se mi to povedlo tím že jsem si z editoval soubor /boot/grub/menu.lst, ale to bylo ještě grub. Nyní tuším že fedora používá také grub 2 a nevím kde soubor menu.lst najít a jak ho upravit. Očekával jsem že Mandriva půjde bez jakékoliv úpravy když už ji grub našel sám a nabízí mi jí ke spuštění ale tak to není.

Toto je vzdy trochu ozehave tema, protoze nikdo nevi, jak a kde si mel ci mas nainstalovane zavadece a dane distribuce.
Obecne by grub2 mel byt schopen nastartovat i madrivu - jde jen o to, kde je spravny kernel a initramfs.

Soubor, ktery by si mohl upravit je nyni v /boot/grub2/grub.cfg, ovsem pokud provedes rucni upravu, je problem v tom, ze tento soubor je automaticky generovan pri kazde instalaci jadra, takze by si o zmeny brzy prisel. Idealni je tedy pripsat si vlastni “custom” configuraci do /etc/grub.d/40_custom ovsem je nutno dodrzet styl zapisu z grub.cfg. Zrejme bude potreba upravit i parametry pro kernel madrivy, ktere skript 10_linux nekde posbiral.

Novy grub.cfg se pak vygeneruje prikazem grub2-mkconfig -o /boot/grub2/grub.cfg

To tedy zrovna nevypadá jednoduše.
Asi to nechám být tak jak to je protože se z toho nějak nevidím.
Tady je pro info výpis /boot/grub2/grub.cfg


#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Fedora (3.1.1-1.fc16.x86_64)' --class fedora --class gnu-linux --class gnu --class os {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos8)'
	search --no-floppy --fs-uuid --set=root cd4dc669-92ea-42d4-a447-fbe8bf558559
	echo 'Loading Fedora (3.1.1-1.fc16.x86_64)'
	linux	/boot/vmlinuz-3.1.1-1.fc16.x86_64 root=UUID=cd4dc669-92ea-42d4-a447-fbe8bf558559 ro nomodeset rd.md=0 rd.lvm=0 rd.dm=0  KEYTABLE=cz-us-qwertz quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=en_US.UTF-8
	echo 'Loading initial ramdisk ...'
	initrd /boot/initramfs-3.1.1-1.fc16.x86_64.img
}
menuentry 'Fedora Linux, with Linux 3.1.0-7.fc16.x86_64' --class fedora --class gnu-linux --class gnu --class os {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos8)'
	search --no-floppy --fs-uuid --set=root cd4dc669-92ea-42d4-a447-fbe8bf558559
	echo	'Loading Linux 3.1.0-7.fc16.x86_64 ...'
	linux	/boot/vmlinuz-3.1.0-7.fc16.x86_64 root=UUID=cd4dc669-92ea-42d4-a447-fbe8bf558559 ro nomodeset rd.md=0 rd.lvm=0 rd.dm=0  KEYTABLE=cz-us-qwertz quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=en_US.UTF-8
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initramfs-3.1.0-7.fc16.x86_64.img
}
menuentry 'Fedora Linux, with Linux 3.1.0-7.fc16.x86_64 (recovery mode)' --class fedora --class gnu-linux --class gnu --class os {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos8)'
	search --no-floppy --fs-uuid --set=root cd4dc669-92ea-42d4-a447-fbe8bf558559
	echo	'Loading Linux 3.1.0-7.fc16.x86_64 ...'
	linux	/boot/vmlinuz-3.1.0-7.fc16.x86_64 root=UUID=cd4dc669-92ea-42d4-a447-fbe8bf558559 ro single nomodeset rd.md=0 rd.lvm=0 rd.dm=0  KEYTABLE=cz-us-qwertz quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=en_US.UTF-8
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initramfs-3.1.0-7.fc16.x86_64.img
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" --class windows --class os {
	insmod part_msdos
	insmod ntfs
	set root='(hd0,msdos1)'
	search --no-floppy --fs-uuid --set=root C67093007092F681
	drivemap -s (hd0) ${root}
	chainloader +1
}
menuentry "linux (on /dev/sda5)" --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos5)'
	search --no-floppy --fs-uuid --set=root 8b680efc-1bae-4885-b3d0-819543730859
	linux /boot/vmlinuz BOOT_IMAGE=linux root=UUID=8b680efc-1bae-4885-b3d0-819543730859 logo.nologo quiet resume=UUID=7b4fcba8-32f3-4fa0-98df-f75845584de5 splash=silent vga=788
	initrd (hd0,4)/boot/initrd.img
}
menuentry "linux-nonfb (on /dev/sda5)" --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos5)'
	search --no-floppy --fs-uuid --set=root 8b680efc-1bae-4885-b3d0-819543730859
	linux /boot/vmlinuz BOOT_IMAGE=linux-nonfb root=UUID=8b680efc-1bae-4885-b3d0-819543730859 resume=UUID=7b4fcba8-32f3-4fa0-98df-f75845584de5
	initrd (hd0,4)/boot/initrd.img
}
menuentry "failsafe (on /dev/sda5)" --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos5)'
	search --no-floppy --fs-uuid --set=root 8b680efc-1bae-4885-b3d0-819543730859
	linux /boot/vmlinuz BOOT_IMAGE=failsafe root=UUID=8b680efc-1bae-4885-b3d0-819543730859 nokmsboot failsafe
	initrd (hd0,4)/boot/initrd.img
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# 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.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###


Nic na tom neni, otevri tento soubor v geditu a zkus zmenit v


menuentry "linux (on /dev/sda5)" --class gnu-linux --class gnu --class os


initrd (hd0,4)/boot/initrd.img
na
initrd /boot/initrd.img

Jde o to, ze grub2 ponekud zmenil cislovani oddilu na disku a v konfiguraci kterou vygeneruje os-prober zrejme vezme z mandriva configu spatne cislo oddilu s initrd (navic zbytecne).

Mám tedy zkusit editovat přímo /boot/grub2/grub.cfg ?

Jasne edituj… jedine co se muze stat ze o zmeny pri nekaje dalsi priletosti prijdes, nebo v katastrofalenim pripade ze ten konfig nejak uplne pokazis nenabootujes, ale doufam ze tu zmenu co jsem psal zvladnes bez te katastrofy.

Tak jsem zkusil editovat


initrd (hd0,4)/boot/initrd.img
na
initrd /boot/initrd.img

a z části úspěch. Objevila se obrazovka s logem Mandrivy a i se zdálo že to nabíhá tak jak má, ale někde je problém.
Poslední řádky výpisu při startu Mandrivy byly:


Started show plymouth boot screen.
Starting /mnt/fedora aborted because a dependency failed.
Starting setup links in /boot for running kernel aborted because a dependency failed.
Starting relabel all filesystems, if necessary aborted because a dependency failed.
Welcome to emergency mode. Use 'systemctl default' or ^D to activate default mode.
Give root password for maintenance.
(or type Control-D to continue).

Snad jsem to opsal dobře, kdybych věděl kam se tento výpis ukládá tak to nemusím přepisovat.

Nevím kde je problém, stisknout Contorl-D jsem zkoušel ale přišlo mi že se nic neděje.

Z toho vypisu se neda nic poznat. Jen ze Mandriva pouziva systemd.:slight_smile:

Predpokladam ze se ve Fedore jsi schopen podivat na diskovy oddil s Mandrivou (mel by to byt oddil /dev/sda5, takze prinejhorsim mkdir /mnt/madriva; mount /dev/sda5 /mnt/mandriva). Pak se podivej do adresare /mnt/mandriva/boot/grub/menu.lst nebo pokud tam je grub/grub.cfg - nevim kterou verzi grubu mandriva pouziva. A tam by si mel videt, jake parametry ma mit ten zaznam pro Mandrivu.

Na disk s Mandrivou po zadání hesla roota můžu.
Tady je výpis /boot/grub/menu.lst


timeout 5
color black/cyan yellow/cyan
gfxmenu (hd0,4)/boot/gfxmenu
default 0

title linux
kernel (hd0,4)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=8b680efc-1bae-4885-b3d0-819543730859 logo.nologo quiet resume=UUID=7b4fcba8-32f3-4fa0-98df-f75845584de5 splash=silent vga=788
initrd (hd0,4)/boot/initrd.img

title linux-nonfb
kernel (hd0,4)/boot/vmlinuz BOOT_IMAGE=linux-nonfb root=UUID=8b680efc-1bae-4885-b3d0-819543730859 resume=UUID=7b4fcba8-32f3-4fa0-98df-f75845584de5
initrd (hd0,4)/boot/initrd.img

title failsafe
kernel (hd0,4)/boot/vmlinuz BOOT_IMAGE=failsafe root=UUID=8b680efc-1bae-4885-b3d0-819543730859 nokmsboot failsafe
initrd (hd0,4)/boot/initrd.img

title windows
root (hd0,0)
makeactive
chainloader +1

title windows1
root (hd1,0)
map (0x81) (0x80)
map (0x80) (0x81)
makeactive
chainloader +1

title fedora
kernel (hd0,7)/boot/vmlinuz-3.1.0-7.fc16.x86_64 BOOT_IMAGE=fedora root=UUID=8c524ece-01c0-498c-bc1f-07dfebcfe40b 
initrd (hd0,4)/boot/initrd.img

Zkoušel jsem v zavaděči nahradit řádky


linux /boot/vmlinuz BOOT_IMAGE=linux root=UUID=8b680efc-1bae-4885-b3d0-819543730859 logo.nologo quiet resume=UUID=7b4fcba8-32f3-4fa0-98df-f75845584de5 splash=silent vga=788
initrd (hd0,4)/boot/initrd.img

tím z /boot/grub/menu.lst


kernel (hd0,4)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=8b680efc-1bae-4885-b3d0-819543730859 logo.nologo quiet resume=UUID=7b4fcba8-32f3-4fa0-98df-f75845584de5 splash=silent vga=788
initrd (hd0,4)/boot/initrd.img

napřed mi to vynadalo že příkaz kernel nezná nebo tak něco tak jsem to editoval na


linux /boot/vmlinuz BOOT_IMAGE=linux root=UUID=8b680efc-1bae-4885-b3d0-819543730859 logo.nologo quiet resume=UUID=7b4fcba8-32f3-4fa0-98df-f75845584de5 splash=silent vga=788
initrd /boot/initrd.img

což bych řekl jse stejné jako bylo po úpravě jako v příspěvku 22. 11. 2011 19:01 a také se to i stejně chovalo.
Nechápu, proč na to není nějaká gui pro snadné nastavení.

Ano to mas pravdu - vysledek je stejny. Problem ale uz asi nebude v zavadeci ale ve fstab Mandrivy.
Najdi si na diskovem oddilu Mandrivy /etc/fstab - zrejme sis tam pridal pripojovani oddilu Fedory do /mnt/fedora a to je ted spatne. Zakomentuj ten radek nebo ho smaz… ja si porad rikal co tam dela to /mnt/fedora.

GUI na to neni protoze normalne do toho radsi nikdo nema sahat.

Tak tohle pomohlo, problém vyřešen už jde spouštět i Mandriva.
V oddílu Mandrivy jsem /etc/fstab nijak neupravoval, /mnt/fedora se tam přidala sama. Napřed jsem měl nainstalovanou Fedoru, pak jsem nainstaloval Mandrivu, která zřejmě disk s Fedorou našla a sama si upravila fstab a pak jsem nainstaloval znovu Fedoru v jejímž zavaděči už Mandriva byla, ale nešla spouštět.
No chápu, že do toho radši nikdo nemá sahat ale to není důvod aby nebylo GUI přístupné po zadání hesla roota.
Díky za pomoc s problémem, teď už se jen musím rozhodnout u jaké distribuce linuxu zůstanu :slight_smile:

Ještě doplním, tak připojování oddílu Fedory do /mnt/fedora v Mandrivě jsem si tam dal původně sám, teď jsem si na to vzpomněl. Přímo v Mandrivě je totiž k editaci nástroj s GUI, přes který jsem to takhle nastavil a pak jsem až nainstaloval znovu Fedoru. Tak se omlouvám za mylnou informaci.

Ta konfigurace grub.cfg je generovana. To ze si ji upravil rucne znamena ze priste az se spusti jeho generovani (teoreticky napr. instalace noveho jadra, i kdyz tam se to dela jinak) tak se ti zmeny v grub.cfg smazou…

Problém se dá poměrně lehce vyřešit ve správci souborů a následné editaci etc/default/grub

Tady je výpis /etc/default/grub


GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Fedora"
GRUB_DEFAULT=saved
GRUB_CMDLINE_LINUX="nomodeset rd.md=0 rd.lvm=0 rd.dm=0  KEYTABLE=cz-us-qwertz quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=en_US.UTF-8"

Co tam mám editovat a čeho tím docílím ?

Tak to by me taky zajimalo…