Portál AbcLinuxu, 14. května 2025 00:57
GNU GRUB version 0.97 (640K lower / 3072K upper memory) [Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename.] grub> find /boot/grub/stage1 (hd0,1) grub> root (hd0,1) Filesystem type is ext2fs, partition type 0x83 grub> setup (hd0,1) 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 (hd0,1)"... failed (this is not fatal) Running "embed /boot/grub/e2fs_stage1_5 (hd0,1)"... failed (this is not fatal Running "install /boot/grub/stage1 (hd0,1) /boot/grub/stage2 p /boot/grub/menu.lst "... failed Error 22: No such partition grub> quitUpřímě řečeno nerozumím tomu, proč když mi na příkaz "find /boot/grub/stage1" vrátí žádaný oddíl, tak mi po následném příkazu k instalaci oznámí, že žádný takový neexistuje... Ještě přidávám menu.lst:
# Modified by YaST2. Last modification on Pá lis 30 16:38:06 CET 2007 default 0 timeout 8 gfxmenu (hd0,1)/boot/message ##YaST - activate ###Don't change this comment - YaST2 identifier: Original name: windows### title Windows XP Professional rootnoverify (hd0,0) chainloader (hd0,0)+1 title openSUSE 10.2 - 2.6.18.8-0.5 root (hd0,1) kernel /boot/vmlinuz-2.6.18.8-0.5-default root=/dev/mapper/isw_ebhfjebcbg_System_part2 vga=0x31a resume=/dev/sdc1 splash=silent showopts initrd /boot/initrd-2.6.18.8-0.5-default title Failsafe -- openSUSE 10.2 - 2.6.18.8-0.5 root (hd0,1) kernel /boot/vmlinuz-2.6.18.8-0.5-default root=/dev/mapper/isw_ebhfjebcbg_System_part2 vga=normal showopts ide=nodma apm=off acpi=off noresume edd=off initrd /boot/initrd-2.6.18.8-0.5-default ###Don't change this comment - YaST2 identifier: Original name: Linux other### title Linux other rootnoverify (hd0,0) chainloader (/dev/sda1,0)+1 ###Don't change this comment - YaST2 identifier: Original name: floppy### title Disketa rootnoverify (hd0,0) chainloader (fd0)+1device.map:
(fd0) /dev/fd0 (hd0) /dev/mapper/isw_ebhfjebcbg_System/etc/fstab:
/dev/mapper/isw_ebhfjebcbg_System_part2 / ext3 acl,user_xattr 1 1 /dev/mapper/isw_ebhfjebcbg_System_part1 /windows/C ntfs ro,users,gid=users,umask=0002,nls=utf8 0 0 /dev/mapper/isw_ebhfjebcbg_System_part5 /windows/D ntfs ro,users,gid=users,umask=0002,nls=utf8 0 0 /dev/sdc2 /windows/F ntfs ro,users,gid=users,umask=0002,nls=utf8 0 0 /dev/sdc1 swap swap defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys/kernel/debug debugfs noauto 0 0 usbfs /proc/bus/usb usbfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 /dev/fd0 /media/floppy auto noauto,user,sync 0 0Děkuji za pomoc a případné rady, které mi pomohou problém vyřešit.
grub-install /dev/partition
?
(hd0,1)
skutečně odpovídá tomu správnému oddílu na tom správném disku, pak ne. Konzolový grub-install
umožňuje specifikovat zařízení přímo, bez použití mapování Grubu, tj. třeba /dev/sda2
místo (hd?,?)
. A umožňuje třeba také znovu vytvořit mapu zařízení (viz parametr --recheck
).
grub-install
je shellový příkaz (úplně přesně je to shellový skript), nikoliv příkaz pro grub shell. Musíte jej tedy zadávat normálně v příkazové řádce. Partition se stage1 třeba specifikovat není.
Alternativní řešení zahrnuje prosté zkopírování zavaděče z MBR do boot sektoru příslušného oddílu:
# dd if=/dev/mapper/isw_ebhfjebcbg_System of=/root/mbr.raw bs=446 count=1 # dd if=/dev/mapper/isw_ebhfjebcbg_System_part2 of=/root/br-part2.bak bs=446 count=1 # dd if=/root/mbr.raw of=/dev/mapper/isw_ebhfjebcbg_System_part2 bs=446 count=1Nemám vyzkoušeno, ale mělo by to fungovat. Kopíruje se pouze zavaděč (prvních 446 bytů) a pro jistotu vytváříme zálohu boot sektoru příslušné partition.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.