Hallo Leuts,
ich probiere seit Tagen mit Hardy Heron auf verschiedenen Systemen herum.
Auf einem System befindet sich auf der ersten IDE-Platte (primary master) WinXP prof., auf der zweiten IDE-Platte (primary slave) Ubuntu 8.04.
Als secondary master ist ein DVD-Brenner installiert, als secondary slave ein Wechselplattenschacht, in den verschiedene IDE-HDs eingeschoben werden können.
Ist das Hochfahren bei eingeschobener HD im Wechselplattenschacht unter Windows kein Problem, blockiert der GRUB beim Hochfahren nach der Auswahl von ubuntu mit der Meldung "Fehler 17".
Es ist ja wohl offensichtlich so, dass die neue Festplatte im Schacht nicht erkannt wird.
Wie kann man das ändern und auch ubuntu zum Hochfahren mit eingesteckter neuer Platte bewegen?
In einigen Foren habe ich gelesen, dass es möglicherweise dann geht, wenn die ubuntu-Partition (bei mir die 2.Platte) als master gejumpert und eingebunden wird. Das muss doch aber auch anders und einfacher gehen ...
Habt Ihr 'nen Tip???
Danke und Tschö
Bismarck-Stomper
Linux 15.070 Themen, 107.540 Beiträge
Die Meldung sieht so aus:
GRUB Loading stage1.5.
GRUB loading, please wait...
Error 17
That's it folks ...
Bismarck-Stomper
Ich könnte mir vorstellen das sich durch die Wechselfestplatte die Bezeichnung der Gerätedateien ändern.
Im GRUB Handbuch steht das hier:
...
17 : Cannot mount selected partition
This error is returned if the partition requested exists, but the filesystem type cannot be recognized by GRUB.
....
http://www.gnu.org/software/grub/manual/html_node/Stage2-errors.html#Stage2-errors
Der grub versucht von dieser Wechselfestplatte den Linuxkernel zu starten , aber weil das Dateisystem kein Linuxdateisystem ist geht es nicht.
Die Gerätedateien für den Linuxkernel sind in der Datei /boot/grub/menu.lst eingetragen.
Poste mal die Datei /boot/grub/menu.lst
und die Ausgabe des Befehls "fdisk -l" (kleines L) ohne Wechselfestplatte und mit Wechselfestplatte.
Du kannst dafür auch die Ubuntu CD als Live CD nutzen , wenn der Linuxkernel nicht startet.
Ich nutze Debian etch und Ubuntu bezeichnet die Gerätedateien anders als Debian. Ich weiß nicht warum.
Irgendwie kommt die Bezeichnung der Gerätedateien durch diese Wechselfestplatte durcheinander.
Vielleicht hilft es auch die Wechselfestplatte als Master zu jumpern und das DVD Laufwerk als Slave zu nutzen.
Hi KarstenW,
ich probier das morgen mal aus.
Vielen Dank und Tschö
Bismarck-Stomper
Hi KarstenW,
da hab' ich doch heute früh gleich basteln können.
Also, setze ich den DVD-Brenner auf secondary slave und die Wechselplatte auf secondary master bootet Linux. Setze ich den Brenner auf slave und die Platte auf Master kommt die besagte Fehlermeldung.
Zugegeben, das wäre dann so eine funktionierende "Krücke". Da die meine Wechselplatten aber alle als Slave gejumpert sind müsste ich bei Wechseln immer hin und her jumpern ...
Das wäre irgendwie unbefriedigend.
Hier mal die 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=c9b83259-da87-43a6-bcce-878d265896fd ro
## Setup crashdump menu entries
## e.g. crashdump=1
# crashdump=0
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd1,0)
## 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
## 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 8.04, kernel 2.6.24-16-generic
root (hd1,0)
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=c9b83259-da87-43a6-bcce-878d265896fd ro quiet splash
initrd /boot/initrd.img-2.6.24-16-generic
quiet
title Ubuntu 8.04, kernel 2.6.24-16-generic (recovery mode)
root (hd1,0)
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=c9b83259-da87-43a6-bcce-878d265896fd ro single
initrd /boot/initrd.img-2.6.24-16-generic
title Ubuntu 8.04, memtest86+
root (hd1,0)
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 (hd0,0)
savedefault
makeactive
chainloader +1
Und nochmal 'ne Ergänzung, die mir eingefallen ist. Auf der secondary slave-Platte hatte ich bei der ersten Installation von Linux ein Image meiner Boot-Platte. Das hatte den Effekt, das der Grub zweimal Windows XP in das Auswahlmenu genommen hat. Einmal von der ersten Platte als primary master (C:/) und einmal vom natürlich bootfähigen Image auf der Platte secondary slave.
Das fand ich nicht so "hübsch" und hab Linux nochmal, jetzt ohne secondary slave-Platte installiert.
Würde es Sinn machen, Linux nun nocheinmal einfach mit einer leeren secondary slave-Platte zu installieren?
Dann würde ja eine Platte erkannt, aber nicht ins Boot-Menu eingetragen. Was würde denn in einem solchen Fall passieren, wenn ich dann eine andere Platte einschiebe?
Besten dank und Tschö
Bismarck-Stomper
Der erste Absatz muss natürlich heißen:
Also, setze ich den DVD-Brenner auf secondary slave und die Wechselplatte auf secondary master bootet Linux. Setze ich den Brenner auf master und die Platte auf slave kommt die besagte Fehlermeldung.
Sorry!
Bismarck-Stomper
title Ubuntu 8.04, kernel 2.6.24-16-generic
root (hd1,0)
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=c9b83259-da87-43a6-bcce-878d265896fd ro quiet splash
initrd /boot/initrd.img-2.6.24-16-generic
quiet
Ich kann mir nur vorstellen das die Bezeichnung root (hd1,0) irgendwie falsch ist.
root (hd1,0) bedeudet das sich der Betriebsystemkern vmlinuz-2.6.24-16-generic auf dem primary slave befindet.
grub fängt bei 0 (NULL) an zu zählen.
root (hd1,0):
hd1 ist der Slave am 1. IDE Anschluß und 0 ist die erste primäre Partition.
Ich blicke jetzt nicht unbedingt durch auf welcher Partition sich der Betriebsystemkern vmlinuz-2.6.24-16-generic befindet.
Bei Debian gibt es ein Script "update-grub" . Damit wird die Datei /boot/grub/menu.lst automatisch erstellt.
Ich würde einfach mal in eine Konsole gehen und das Script update-grub (oder sudo update-grub) starten.
Danach kontrollierst du den Eintrag
title Ubuntu 8.04, kernel 2.6.24-16-generic
root (hd1,0)
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=c9b83259-da87-43a6-bcce-878d265896fd ro quiet splash
initrd /boot/initrd.img-2.6.24-16-generic
quiet
in der Datei /boot/grub/menu.lst.
Du kannst aber auch den Eintrag root (hd1,0) mit einem Texteditor korrigieren (wenn du weißt auf welcher Partition der Betriebsystemkern ist).
Du kannst auch noch mal den Befehl "fdisk -l (kleines L) eingeben und erklären welche Partitionen das sind ( / Partition, /var Partition ...).
PS: Wenn du die Platte als Master umjumperst , dann stimmt der Eintrag root (hd1,0) auch nicht. Ich dachte nur das das BIOS eventuell Problem hat, wenn du eine Festplatte als slave jumperst. Normalerweise wird eine Festplatte immer als master und ein DVD Laufwerk als slave eingestellt, schon allein deshalb weil der master immer zuerst bedient wird, wenn Daten transferiert werden sollen.
PPS: Für so eine Reparatur kannst du die Ubuntu DVD als Live DVD
nutzen, oder du benutzt Knoppix.
Zuerst mußt du die root Partition mounten und dann alle übrigen Partitionen (die gebraucht werden). Dann kannst du mit einem Texteditor die Datei /boot/grub/menu.lst bearbeiten. Du mußt natürlich wissen auf welcher Partition der Betriebsystemkern ist.
Ich mache immer einen Ausdruck von der Datei /etc/fstab und vom Befehl "fdisk -l".
Hallo KarstenW,
ja, Du hast Recht! Sorry, das ist mir in den Grundinfos untergegangen.
Auf der primary master befindet sich WinXP Prof., auf der primary slave hatte ich Linux installiert.
Und nochmal 'ne Ergänzung, die mir eingefallen ist.
Auf der secondary slave-Platte hatte ich bei der ersten Installation von Linux ein 1:1 Image meiner Boot-Platte (primary master, also c:/). Das hatte den Effekt, das der Grub zweimal Windows XP in das Auswahlmenu genommen hat. Einmal von der ersten Platte als primary master (C:/) und einmal vom natürlich bootfähigen Image auf der Platte, die am secondary slave IDE hängt.
Das fand ich nicht so "hübsch" und hab Linux nochmal, jetzt ohne secondary slave-Platte installiert, es war nur der DVD-Brenner als secondary master drin.
Würde es Sinn machen, Linux nun nocheinmal einfach mit einer leeren secondary slave-Platte (zumindest ohne OS) zu installieren?
Dann würde ja eine Platte erkannt, aber nicht ins Boot-Menu eingetragen. Was würde denn in einem solchen Fall passieren, wenn ich dann eine andere Platte einschiebe?
Besten Dank und Tschö
Bismarck-Stomper
Würde ich auch denken. Installier Linux einfach nochmal neu.
Das wäre die einfachste Lösung. Wahrscheinlich kam der grub irgendwie durcheinander.
Aber wenn du weißt auf welcher Partition der Linuxbetriebsystemkern ist, dann kannst du den Eintrag root (hd1,0) mit einem Texteditor anpassen.
PS: Windows überschreibt sehr gern den MBR und du mußt dann den grub nochmal in den MBR installieren. Das geht so:
http://www.gnu.org/software/grub/manual/html_node/Installing-GRUB-natively.html#Installing-GRUB-natively
....
3.2 Installing GRUB natively
Caution: Installing GRUB's stage1 in this manner will erase the normal boot-sector used by an OS.
GRUB can currently boot GNU Mach, Linux, FreeBSD, NetBSD, and OpenBSD directly, so using it on a boot sector (the first sector of a partition) should be okay. But generally, it would be a good idea to back up the first sector of the partition on which you are installing GRUB's stage1. This isn't as important if you are installing GRUB on the first sector of a hard disk, since it's easy to reinitialize it (e.g. by running `FDISK /MBR' from DOS).
If you decide to install GRUB in the native environment, which is definitely desirable, you'll need to create a GRUB boot disk, and reboot your computer with it. Otherwise, see Installing GRUB using grub-install.
Once started, GRUB will show the command-line interface (see Command-line interface). First, set the GRUB's root device1 to the partition containing the boot directory, like this:
grub> root (hd0,0)
If you are not sure which partition actually holds this directory, use the command find (see find), like this:
grub> find /boot/grub/stage1
This will search for the file name /boot/grub/stage1 and show the devices which contain the file.
Once you've set the root device correctly, run the command setup (see setup):
grub> setup (hd0)
This command will install the GRUB boot loader on the Master Boot Record (MBR) of the first drive. If you want to put GRUB into the boot sector of a partition instead of putting it in the MBR, specify the partition into which you want to install GRUB:
grub> setup (hd0,0)
If you install GRUB into a partition or a drive other than the first one, you must chain-load GRUB from another boot loader. Refer to the manual for the boot loader to know how to chain-load GRUB.
After using the setup command, you will boot into GRUB without the GRUB floppy. See the chapter Booting to find out how to boot your operating systems from GRUB.
...
Hi KarstenW,
alles klar, hat bestens geklappt!
Ich hab' 'ne Festplatte ohne OS als secondary slave eingeschoben und Hardy Heron neu auf die primary slave installiert.
Jetzt werden auch bei Plattenwechsel auch unterschiedliche Platten erkannt.
Besten Dank.
Zu Deinem PS von oben:
Klaro, haste natürlich Recht. Platte immer master, DVD immer slave.
Ich betreibe die Rechner aber auch gelegentlich ohne in den Wechselschacht eingeschobene Platte.
Da gab's dann gelegentlich Probleme, wenn nur ein slave (das DVD-LW) auf dem IDE-Port saß ...
Deshalb hab ich's dann so bebastelt.
Letztendlich lief's so fehlerfrei, und mit einer etwas längeren Datentransferrate konnte ich auch leben.
Besten Dank für Deine Hilfe!
Bismarck-Stomper
So sieht meine /boot/grub/menu.lst Datei von Debian etch aus:
cat /boot/grub/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 change this entry to 'saved' or your
# array will desync and will not let you boot your system.
default saved
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 20
# 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=/dev/hda1 ro
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,0)
## 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=
## 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=(single-user) single
# altoptions=(single-user 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
## ## End Default Options ##
title Debian GNU/Linux, kernel 2.6.18-18etch3-K6
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-18etch3-K6 root=/dev/hda1 ro vga=771
savedefault
title Debian GNU/Linux, kernel 2.6.18-18etch3-K6 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-18etch3-K6 root=/dev/hda1 ro single
savedefault
title Debian GNU/Linux, kernel 2.6.18-18etch1-K6
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-18etch1-K6 root=/dev/hda1 ro vga=771
savedefault
title Debian GNU/Linux, kernel 2.6.18-18etch1-K6 (single-user mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-18etch1-K6 root=/dev/hda1 ro single
savedefault
title Debian GNU/Linux, kernel memtest86
root (hd0,0)
kernel /boot/memtest86.bin
title Debian GNU/Linux, kernel memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
### END DEBIAN AUTOMAGIC KERNELS LIST
Diese Datei wird automatisch vom Script update-grub erstellt. Bei Ubuntu mußt du wahrscheinlich "sudo update-grub" angeben.
Der Eintrag root (hd0,0) bedeutet das der Linuxkernel vmlinuz-2.6.18-18etch1-K6 auf der ersten primären Partition der Festplatte ( Master am 1. IDE Anschluß) ist .
Mit der Option root=/dev/hda1 wird dem Linuxkernel die / Partition (root Partition) angegeben. Das ist in diesem Fall die gleiche Partition weil das Verzeichnis /boot ein Unterverzeichnis auf der / Partition ist.
Also root (hd0,0) ist gleich /dev/hda1.
