Re: Bootsector nach Partitionierung herstellen
Thomas Michalka <[email protected]> Thu, 07 Apr 2011 15:20:24 +0200
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
Hallo, David Haller schrieb: > Am Tue, 05 Apr 2011, Thomas Moritz schrieb: >> Ich muss das Szenario noch 2x auf verschieden-grossen CFs durchfuehren= =20 >> und werde dabei den HexDump beobachten! Bin gespannt, wann genau da=20 >> was schief laeuft. >=20 > Lies auch mal 'info grub' ;) Da steht genau drin, was wie gebooted > wird. Und -- wenn du nicht per "aktiver Partition" zur FAT umschalten > willst: schreib GRUB einfach in den MBR. Bedeutet das, dass man einen Boot-Sektor-GRUB (BS-GRUB) direkt vom BIOS starten lassen kann, indem man das Aktiv-Flag der Partition, in der der BS-GRUB installiert ist, setzt? Also ohne Boot-Code im MBR? Noch eine Frage, ankn=C3=BCpfend an die Diskussion, die wir k=C3=BCrzlich= hatten, mit einer kurzen Vorbemerkung: Es scheint wirklich so zu sein, dass mein BIOS meine eSATA-Platte immer an die zweite Stelle hinter der Boot-Platte setzt, obwohl sie eindeutig als dritte Platte im BIOS-Setup eingereiht ist. Durch lsscsi im selben System wird die Platte auch immer an der selben Stelle angezeigt, egal ob sie schon beim Booten drin war oder erst sp=C3=A4ter eingeschoben wurd= e: # lsscsi [3:0:0:0] disk ATA WDC WD5000BEVT-0 01.0 /dev/sdg [4:0:0:0] disk ATA OCZ-VERTEX2 3.5 1.22 /dev/sda [5:0:0:0] disk ATA ST3500630AS 3.AA /dev/sdb Also immer [3:0:0:0], mal als /dev/sda (beim Booten schon drin; unter den ATA-Ger=C3=A4ten sogar das erste, hat aber nichts mir der Einreihung durch das BIOS zu tun), mal als /dev/sdg (ins laufende System eingesteckt= ). Nun die Frage: kann es sein, dass ein Aktiv-Flag in einer Partition auf der eSATA-Platte dazu f=C3=BChrt, dass sie vom BIOS an die zweite Stelle eingereiht wird? # fdisk -l /dev/sdg Disk /dev/sdg: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units =3D cylinders of 16065 * 512 =3D 8225280 bytes Disk identifier: 0x0005df91 Device Boot Start End Blocks Id System /dev/sdg1 * 1 523 4200966 82 Linux swap / ... /dev/sdg2 524 536 104422+ 83 Linux /dev/sdg3 537 3147 20972857+ 83 Linux /dev/sdg4 3148 60801 463105755 83 Linux Verstehe eh nicht, wieso die Swap-Partition als aktiv markiert ist, ist doch =C3=BCberfl=C3=BCssig. > Da du ja nicht das aktuelle System (dessen menu.lst) verwenden willst > mu=C3=9Ft du entweder ein chroot in die gemountede CF (sdd1) machen, od= er > GRUB ohne 'grub-install' manuell dort installieren (IIRC): >=20 > # mount /dev/sdd1 /mnt/sdd1 > # mount -o bind /proc /mnt/sdd1/proc > # mount -o bind /dev /mnt/sdd1/sys > # mount -o bind /sys /mnt/sdd1/dev > # chroot /mnt/sdd1 > # grub > grub> setup --stage2=3D/boot/grub/stage2 (hd0) (hd0,0) > grub> quit >=20 > grub> help setup =20 > setup: setup [--prefix=3DDIR] [--stage2=3DSTAGE2_FILE] [--force-lba[=3D= off]] INSTALL_ > DEVICE [IMAGE_DEVICE] > Set up the installation of GRUB automatically. This command uses > the more flexible command "install" in the backend and installs > GRUB into the device INSTALL_DEVICE. If IMAGE_DEVICE is > specified, then find the GRUB images in the device IMAGE_DEVICE, > otherwise use the current "root device", which can be set by the > command "root". >=20 > -> Das "IMAGE_DEVICE" ist, wo GRUB dann stage2 und die menu.lst sucht. >=20 > Du kannst nat=C3=BCrlich auch weiter in die /-Partition installieren: >=20 > grub> setup --stage2=3D/boot/grub/stage2 (hd0,0) (hd0,0) >=20 > Wobei da die /boot/grub/device.map den passenden Eintrag haben mu=C3=9F= , > da=C3=9F (hd0) =3D=3D CF-Karte. Wieso, Du verwendest doch auch f=C3=BCr die Root-Partition nur GRUB-Ger=C3=A4tebezeichner. Ich war bisher der Meinung, dass die device.map nur von grub-install[.unsupported] gebraucht wird, weil als Argumente f=C3=BCr di= eses Skript Linux-Ger=C3=A4tebezeichner (/dev/sdXy) =C3=BCbergeben werden k=C3= =B6nnen. Den Versuch, die Zuordnung zwischen Linux- und GRUB-Ger=C3=A4tebezeichner= n f=C3=BCr die device.map mit der Option --recheck 'erraten' zu lassen, hal= te ich inzwischen sogar nur dann f=C3=BCr sinnvoll, wenn man das genau in de= m laufenden System macht, f=C3=BCr das man GRUB gerade installieren m=C3=B6= chte. Installiert man GRUB aus einem z.B. von DVD gestarteten externen System f=C3=BCr ein auf Platte installiertes System, dann sollte man das IMHO am besten in einer GRUB-shell, wie Du es oben gezeigt hast, machen. Man muss sich dann nur klar =C3=BCber die Reihenfolge der Laufwerke sein, die= das BIOS an den GRUB das gerade laufenden Systems gemeldet hat. > Wenn's dann klemmt mu=C3=9Ft du gucken, als was das device im Grub von > CF-gebootet auftaucht (da hilft dann z.B. 'find /boot/grub/menu.lst' > am grub-Prompt. Wenn man mehrere Platten bzw. Partitionen mit GRUB drauf hat, kann man so leider das Ger=C3=A4t nicht identifizieren, weil find mehrere hd(x,y) findet :-( Gru=C3=9F, Tom --=20 To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]= g