Ubuntu 7.10 (ATA) oraz Windows XP (SATA) - problem z GRUB


(Yanek1982) #1

Witam!

Od dłuższego czasu borykam się z dziwnym problemem. Od razu napiszę, że przeszukałem sporo forów, włącznie z oficjalnym UBUNTU i nigdzie nie mogli mi pomóc. Ale od początku. Posiadam dwa dyski. Na dysku SATA (250 GB) mam zainstalowany Windows XP (na pierwszej partycji spośród trzech). Na drugim dysku ATA (80 GB) mam trzy partycje i na jednej z nich znajduję się zainstalowany Linux Ubuntu 7.10.

Wynik fdisk -l

Disk /dev/sda: 250.0 GB, 250059350016 bytes

255 heads, 63 sectors/track, 30401 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x80ff9f9e


   Device Boot Start End Blocks Id System

/dev/sda1 * 1 3916 31455238+ 7 HPFS/NTFS

/dev/sda2 3917 30400 212732730 f W95 Ext'd (LBA)

/dev/sda5 3917 20886 136311493+ 7 HPFS/NTFS

/dev/sda6 20887 30400 76421173+ 7 HPFS/NTFS


Disk /dev/hda: 80.0 GB, 80060424192 bytes

255 heads, 63 sectors/track, 9733 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0xe203e203


   Device Boot Start End Blocks Id System

/dev/hda1 * 1 3916 31455238+ 5 Extended

/dev/hda2 9473 9733 2096482+ 82 Linux swap / Solaris

/dev/hda3 3917 5221 10482412+ 83 Linux

/dev/hda4 5222 9472 34146157+ 83 Linux

/dev/hda5 1 3916 31455207 7 HPFS/NTFS


Partition table entries are not in disk order

Kolejność instalacji systemów była następująca: najpierw Windows XP, potem UBUNTU 7.10. Oba systemy są na maksa zaktualizowane. Podczas instalacji Linux-a, Ubuntu zaproponował instalację GRUB-a na hd0. Problem wygląda następująco: 1. W przypadku ustawienia w BIOSIE boot systemu z SATA WINDOWS XP startuje normalnie, ale nie ma możliwości uruchomienia UBUNTU 7.10. 2. W przypadku ustawienia w BIOSIE boot systemu z HD0 można uruchomić system UBUNTU 7.10 za pomocą GRUBA, ale w przypadku wybrania uruchomienia WINDOWS XP (w menu) pojawia się jedynie napis STARTING UP i nic dalej się nie dzieje (czekałem dłuższy czas). Pomaga jedynie restart komputera. Zawartość menu.lst:

# menu.lst - See: grub(8), info grub, update-grub(8)

# grub-install(8), grub-floppy(8),

# grub-md5-crypt, /usr/share/doc/grub

# and /usr/share/doc/grub-doc/.


## default num

# Set the default entry to the entry number NUM. Numbering starts from 0, and

# the entry number 0 is the default if the command is not used.

#

# You can specify 'saved' instead of a number. In this case, the default entry

# is the entry saved with the command 'savedefault'.

# WARNING: If you are using dmraid do not use 'savedefault' or your

# array will desync and will not let you boot your system.

default 0


## timeout sec

# Set a timeout, in SEC seconds, before automatically booting the default entry

# (normally the first entry defined).

timeout 10


## hiddenmenu

# Hides the menu by default (press ESC to see the menu)

#hiddenmenu


# Pretty colours

#color cyan/blue white/blue


## password ['--md5'] passwd

# If used in the first section of a menu file, disable all interactive editing

# control (menu entry editor and command-line) and entries protected by the

# command 'lock'

# e.g. password topsecret

# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/

# password topsecret


#

# examples

#

# title Windows 95/98/NT/2000

# root (hd0,0)

# makeactive

# chainloader	+1

#

# title Linux

# root (hd0,1)

# kernel	/vmlinuz root=/dev/hda2 ro

#


#

# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST


### BEGIN AUTOMAGIC KERNELS LIST

## lines between the AUTOMAGIC KERNELS LIST markers will be modified

## by the debian update-grub script except for the default options below


## DO NOT UNCOMMENT THEM, Just edit them to your needs


## ## Start Default Options ##

## default kernel options

## default kernel options for automagic boot options

## If you want special options for specific kernels use kopt_x_y_z

## where x.y.z is kernel version. Minor versions can be omitted.

## e.g. kopt=root=/dev/hda1 ro

## kopt_2_6_8=root=/dev/hdc1 ro

## kopt_2_6_8_2_686=root=/dev/hdc2 ro

# kopt=root=UUID=e69766b3-8fbe-4e86-aad8-c841ed736e2c ro


## Setup crashdump menu entries

## e.g. crashdump=1

# crashdump=0


## default grub root device

## e.g. groot=(hd0,0)

# groot=(hd0,2)


## should update-grub create alternative automagic boot options

## e.g. alternative=true

## alternative=false

# alternative=true


## should update-grub lock alternative automagic boot options

## e.g. lockalternative=true

## lockalternative=false

# lockalternative=false


## additional options to use with the default boot option, but not with the

## alternatives

## e.g. defoptions=vga=791 resume=/dev/hda5

# defoptions=quiet splash locale=pl_PL


## should update-grub lock old automagic boot options

## e.g. lockold=false

## lockold=true

# lockold=false


## Xen hypervisor options to use with the default Xen boot option

# xenhopt=


## Xen Linux kernel options to use with the default Xen boot option

# xenkopt=console=tty0


## altoption boot targets option

## multiple altoptions lines are allowed

## e.g. altoptions=(extra menu suffix) extra boot options

## altoptions=(recovery) single

# altoptions=(recovery mode) single


## controls how many kernels should be put into the menu.lst

## only counts the first occurence of a kernel, not the

## alternative kernel options

## e.g. howmany=all

## howmany=7

# howmany=all


## should update-grub create memtest86 boot option

## e.g. memtest86=true

## memtest86=false

# memtest86=true


## should update-grub adjust the value of the default booted system

## can be true or false

# updatedefaultentry=false


## should update-grub add savedefault to the default options

## can be true or false

# savedefault=false


## ## End Default Options ##


title Ubuntu 7.10, kernel 2.6.22-14-generic

root (hd0,2)

kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=e69766b3-8fbe-4e86-aad8-c841ed736e2c ro quiet splash locale=pl_PL

initrd /boot/initrd.img-2.6.22-14-generic

quiet


title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)

root (hd0,2)

kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=e69766b3-8fbe-4e86-aad8-c841ed736e2c ro single

initrd /boot/initrd.img-2.6.22-14-generic


title Ubuntu 7.10, memtest86+

root (hd0,2)

kernel /boot/memtest86+.bin

quiet


### END DEBIAN AUTOMAGIC KERNELS LIST


# This is a divider, added to separate the menu items below from the Debian

# ones.

title Other operating systems:

root



# This entry automatically added by the Debian installer for a non-linux OS

# on /dev/sda1

title Microsoft Windows XP Professional

root (hd1,0)

savedefault

makeactive

map (hd0) (hd1)

map (hd1) (hd0)

chainloader	+1

Czy ma ktoś jakiś pomysł jak naprawić ten problem, by można było normalnie pracować?


(matiit) #2

Spróbuj zamiast

title Microsoft Windows XP Professional

root (hd1,0)

savedefault

makeactive

map (hd0) (hd1)

map (hd1) (hd0)

chainloader +1

dać tak:

title Microsoft Windows XP Professional

root (hd1,0)

savedefault

makeactive

chainloader +1

(Yanek1982) #3

Próbowałem to wcześniej, niestety nadal to samo. #-o


(matiit) #4

Nie wiem ale trochę może być ciężko bo oba dyski są chyba traktowane jako pierwsze. Najprostszym wyjściem byłoby trzymanie obu systemół na jendym dysku, a dane na drugim. Jeszcze postaram się coś poszukać.

Edit: w menu.lst ustaw tak:

title Windows

map (hd0) (hd1)

map (hd1) (hd0)

chainloader (hd1,0)+1

I wydaj polecenia:

sudo grub

root (hd0,2)

setup (hd0)

quit

sudo reboot

(zabootuj z ATA)

Powiedz czy pomogło... Bo hd0 jest dysk z którego się zabootowało... jak włączasz ubuntu bootujesz z ATA, jak przeinstalujesz gruba w mbr, może będzie o tym wiedział.

Edit2 - wpis ma być taki jak powyżej (usunąć savedefault i makeactive)

Do przeczytania: http://tinyurl.com/f9lmw


(Maxikazio) #5

Może spróbuj przepiąć dysk 80GB na slave - i masz hdb


(Fisiu) #6

Mapowanie dysków w menu.lst powinno wystarczyć. Tak z ciekawości Yanek, jak wygląda /boot/grub/device.map ?