Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: alfonz19 01 Března 2009, 11:30:17
-
Zdravím,
potřeboval bych poradit s instalací grubu. Nainstaloval jsem ubuntu a vše proběhlo bez problémů. Jen po startu mi to odmítlo nabootovat jakýkoli systém.
pár poznámek: ubuntu bylo instalováno jako druhý systém na pc s dvěma disky, přičemž, a v tom bude problém, když se minule instalovaly windows, tak si jejich instalátor nahrál data tak trochu na oba disky současně. Nevím proč a jak to udělal (i když o to nebyl žádán), ale udělal to. Předpokládám, že si nasáčkoval data i do mbr obou disků, ale to nevím. Ubuntu i Windows jsou na jednom disku(A), druhý(B) je prádný, čerstvě naformátovaný na xfs.
první krůčky: prostě jsem dospěl k závěru, že se grub nenainstaloval a pokoušel se to spravit automaticky pomocí instalačního cd ubuntu, což sice nevedlo k úspěchu, ale alespoň se mi začaly opět bootovat windows. Následně jsem zjistil, že když při startu nechám instalační cd ubuntu v mechanice a dám "boot from primary hdd" tak mi naskočí grub a mohu nabootovat do linuxu. Tam jsem zkusil toto:
grub> find /boot/grub/stage1
(hd1,2)
grub> root (hd1,2)
grub> setup (hd1)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 16 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd1) (hd1)1+16 p (hd1,2)/boot/grub/stage2
/boot/grub/menu.lst"... succeeded
Done.
po provedeném se mi stále přímo bootují windowsy (tj. neobjeví se grub), ale postup s instalačním cd viz výše funguje stále.
Další pokusy: usoudil jsem, že windows musím mít nějaký mbr záznam i na druhém disku(B). Byl sice po instalaci formátován na xfs, ale zdá se mi, že prostě musí obsahovat nějaké info ze kterého se nějak odkáže windowsí zavaděč. Tak jsem udělal pokus a zopakoval "ruční obnovění grubu" (viz výše) a na závěr ještě dodal setup (hd0). Výsledek je ten, že se mi při bootu zobrazuje grub (tj. evidentně něco na tom disku bylo), ale když dám "boot ubuntu", tak mi řekne že particie neexistuje.
Takže otázka je asi tato: jak smazat mbr record na daném disku(B) & jak způsobit aby se z něj nikdo nesnažil bootovat.
snad je to napsáno dostatečně srozumitelně.
předem dík za radu/y.
alfonz.
-
v systemu na take dva disky, nepouzivam sice windowsy, ale vsiml jsem si zajimave veci, kterou popisu:
mam dva disky, sda a sdb, system mam na sdb, grub, ale tento disk sdb identifikuje jako hd0 a sda je identifikovan jako hd1, bohuzel nektere distribuce (patri k nim i ty, zalozene na debianu) kdyz se nainstaluji na sdb, tak do grubu daji (ne)smyslne odkaz na hd1, takze grub sice nastaruje, ale nasledne oddil neni nalezen.
resenim je potom rucne editovat menu.lst, coz pro zacatecnika muze byt problem kdyz nenabootuje (existuje ale v grubu volba 'e' - editovat)
toto me vedlo k zamysleni, jaka je vlastne logika identifikace disku grubu (hd0,1,2...) s identifikace v dev (sda, sdb, sdc...). Muj predpoklad je asi takovy, ze hd0 je vzdy oddil, na kterem je grub a ostatni jsou cislovane podle poradi v dev. Jist si tim ale vubec nejsem, protoze mam k dispozici jen dva disky (zkusim vyzkouset ve virtualboxu)
-
Nedalo by se něco o MBR disků nastavovat v BIOSu? Třeba je tam volba, z jakého disku se má nejprve MBR zavádět atp.
Hoď sem ještě výpisy:
cat /boot/grub/menu.lst
sudo fdisk -l
-
Hádám, že v druhém disku problém vůbec není. Pokud je prázdný, tak ho můžeš odpojit nebo zakázat v BIOSu a výsledek by měl být stejný. Ovšem já vidím, že ti příkaz find /boot/grub/stage1 vypsal (hd1,2). Protože se v GRUBu disky číslují od nuly, tak to znamená, že GRUB máš nainstalovaný na druhém disku. To může znamenat dvě věci. Buď sis nainstaloval Ubuntu na druhý disk a Widnows dál vesele nabíhají z prvního. To by se nechalo vyřešit tak, že bys nastavil v BIOSu bootování ze druhého disku a do GRUBu si přidal odkaz na wokna, která žijí na prvním disku. Další možností by byla reinstalace Ubuntu na první disk, což jsi asi původně chtěl. Druhá věc, která mě napadá je, že máš na druhém disku i Windows, ale myslíš si o něm, že je to ten první. Disky by pak byly prohozené a Windows by byly v MBR toho datového disku, odkud by vesele bootovaly. To se mi ale nezdá jako pravděpodobné. Zkus nám poslat alespoň výpisy příkazů
sudo fdisk /dev/hda -l (malé L) a
sudo fdisk /dev/hdb -l (samozřejmě doplň označení svých disků, možná budeš muset psát místo hda sda)
Potom budeme moci dále problém řešit.
-
Pánové, děkuji za odpovědi.
Máte pravdu, že moje značení "první" & "druhý" je poněkud stupidní. Takže to co jsem nazýval jako první je disk, na kterém jsou všechny operační systémy, jde o /dev/sdb. "Druhý" disk je pak obyčejný prázdný disk, /dev/sda. Jsem nicméně překvapen, že jde o sda, protože jde o vážně starý disk, který bych očekával spíče pod hda, ale možná se pletu.
sudo fdisk -l
Disk /dev/sda: 30.0 GB, 30020272128 bytes
255 heads, 63 sectors/track, 3649 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x01227bff
Device Boot Start End Blocks Id System
/dev/sda1 1 3649 29310561 83 Linux
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0c2d0c2c
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 1275 10241406 7 HPFS/NTFS
/dev/sdb2 3100 19457 131395635 f W95 Ext'd (LBA)
/dev/sdb3 1276 3099 14651280 83 Linux
/dev/sdb5 3189 19457 130680711 7 HPFS/NTFS
/dev/sdb6 3100 3188 714829+ 82 Linux swap / Solaris
Partition table entries are not in disk order
menu.lst
default 0
timeout 10
title Ubuntu 8.04.2, kernel 2.6.24-23-generic
root (hd1,2)
kernel /boot/vmlinuz-2.6.24-23-generic root=UUID=14eb99f2-f3df-4d50-a133-5c39f2466545 ro quiet splash
initrd /boot/initrd.img-2.6.24-23-generic
quiet
title Ubuntu 8.04.2, kernel 2.6.24-23-generic (recovery mode)
root (hd1,2)
kernel /boot/vmlinuz-2.6.24-23-generic root=UUID=14eb99f2-f3df-4d50-a133-5c39f2466545 ro single
initrd /boot/initrd.img-2.6.24-23-generic
title Ubuntu 8.04.2, memtest86+
root (hd1,2)
kernel /boot/memtest86+.bin
quiet
title Other operating systems:
root
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
makeactive
chainloader +1
title Microsoft Windows XP Professional
root (hd1,0)
savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1
všimněte si, že tato verze menu.lst byla vytvořena během instalace systému, kdy ještě na disku /dev/sda smrděly windowsí pozůstatky (navzdory tomu, že tam systém nikdy instalován nebyl -- viz zmíněná chyba windows installeru), takže /dev/sda byl identifikován jako disk obsahující instalaci windows a proto tedy dva systémy windows. (odstranil jsem poznámky v souboru abych zbytečně netrápil vaše oči).
-
Jako první (hda) se automaticky bere ten disk, který je připojen jako master resp. primary master a druhý (hdb) je ten, který je připojen jako slave resp. primary slave (pokud je primary slave neobsazen pevným diskem, pak secondary master, pokud jsou primary slave a secondary master neobsazeny pevnými disky, pak secondary slave).