Hallo.
Ich habe eine komplette Kopie von einer Squeeze Installation von einer Hd(sda1) auf eine andere HD (sdb1) vorgenommen und wollte nun diese HD(sdb1) via Grub bootfähig
machen. Der Grub2 Eintrag in der Grub.cfg scheint auch zu stimmen. Auch die /etc/fstab (hd-sdb1) habe ich entsprechend angepasst. (Uuid von sdb1 genommen)
Es wird aber immer nur von der ersten Hd (sda1) gebootet, obwohl ich den zweiten Eintrag (sdb1) ausgwählt habe. Was läuft da falsch..?
Tschau
Hermann
Kopie von squeeze auf eine andere Festplatte.
Re: Kopie von squeeze auf eine andere Festplatte.
Von welcher Platte wird gebootet (steht im Bios)?
Sollte das sda ein, dann kann der Grub in sda mit chainloader den Grub in sdb aufrufen. Wie das genau geht, weiß ich nicht. Bei dem alten Grub habe ich etwas in die menulist eingetragen. Jetzt geht das irgendwie mit update-grub.
Sollte das sda ein, dann kann der Grub in sda mit chainloader den Grub in sdb aufrufen. Wie das genau geht, weiß ich nicht. Bei dem alten Grub habe ich etwas in die menulist eingetragen. Jetzt geht das irgendwie mit update-grub.
Harry, hol schon mal das Rasiermesser!
- uwepr
- Beiträge: 657
- Registriert: 03.02.2007 12:13:01
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Halle/S.
-
Kontaktdaten:
Re: Kopie von squeeze auf eine andere Festplatte.
Hallo,
was sagt (als root):
fdisk -l
Wie lautet der Eintrag in /boot/grub/grub.cfg für die Kopie auf /dev/sdb1?
Hast Du was in /etc/grub.d/40_custom eingetragen?
Verstehe ich Dich richtig, dass grub2 aus /dev/sda1 heraus in den boot-Sektor von /dev/sda installiert wurde und Du aus diesem grub heraus /dev/sdb1 starten willst?
Viele Grüße!
Uwe Pr.
was sagt (als root):
fdisk -l
Wie lautet der Eintrag in /boot/grub/grub.cfg für die Kopie auf /dev/sdb1?
Hast Du was in /etc/grub.d/40_custom eingetragen?
Verstehe ich Dich richtig, dass grub2 aus /dev/sda1 heraus in den boot-Sektor von /dev/sda installiert wurde und Du aus diesem grub heraus /dev/sdb1 starten willst?
Viele Grüße!
Uwe Pr.
squeeze/fluxbox
Re: Kopie von squeeze auf eine andere Festplatte.
[quote="Uwe Pr."]Hallo,
was sagt (als root):
fdisk -l
Disk /dev/sda: 82.0 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb88fb88f
Device Boot Start End Blocks Id System
/dev/sda1 1 1500 12048718+ 83 Linux
/dev/sda2 1501 3000 12048750 83 Linux
/dev/sda3 * 3001 4501 12056782+ a5 FreeBSD
/dev/sda4 4502 9964 43881547+ 5 Extended
/dev/sda5 4502 6000 12040686 83 Linux
/dev/sda6 6001 7500 12048718+ 83 Linux
/dev/sda7 7501 9000 12048718+ 83 Linux
/dev/sda8 9001 9964 7743298+ 83 Linux
Disk /dev/sdb: 30.7 GB, 30736613376 bytes
255 heads, 63 sectors/track, 3736 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6e6d9b09
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 3600 28916968+ 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2 3601 3736 1092420 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
saturn:/home/hermx# fdisk -l > fd.txt
Hast Du was in /etc/grub.d/40_custom eingetragen?
Nein
Verstehe ich Dich richtig, dass grub2 aus /dev/sda1 heraus in den boot-Sektor von /dev/sda installiert wurde und Du aus diesem grub heraus /dev/sdb1 starten willst?
Ja.
Tschau
Hermann
was sagt (als root):
fdisk -l
Disk /dev/sda: 82.0 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb88fb88f
Device Boot Start End Blocks Id System
/dev/sda1 1 1500 12048718+ 83 Linux
/dev/sda2 1501 3000 12048750 83 Linux
/dev/sda3 * 3001 4501 12056782+ a5 FreeBSD
/dev/sda4 4502 9964 43881547+ 5 Extended
/dev/sda5 4502 6000 12040686 83 Linux
/dev/sda6 6001 7500 12048718+ 83 Linux
/dev/sda7 7501 9000 12048718+ 83 Linux
/dev/sda8 9001 9964 7743298+ 83 Linux
Disk /dev/sdb: 30.7 GB, 30736613376 bytes
255 heads, 63 sectors/track, 3736 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6e6d9b09
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 3600 28916968+ 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2 3601 3736 1092420 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
saturn:/home/hermx# fdisk -l > fd.txt
Code: Alles auswählen
Wie lautet der Eintrag in /boot/grub/grub.cfg für die Kopie auf /dev/sdb1?
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set 817ffbcc-8927-4f57-a56e-8fb28671dbb0
if loadfont /share/grub/unicode.pf2 ; then
set gfxmode=640x480
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set 3e4f5110-1615-450f-ab46-340667658294
set locale_dir=($root)/boot/grub/locale
set lang=de
insmod gettext
set timeout=50
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set 817ffbcc-8927-4f57-a56e-8fb28671dbb0
insmod png
if background_image /share/images/desktop-base/spacefun-grub.png; then
set color_normal=light-gray/black
set color_highlight=white/black
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
grub.cfg
Also, ich verstehe das nicht. Wenn ich update-grub aufrufe, wird auch ein Eintrag sdb1 für grub.cfg geschrieben. Wenn Grub
startet, habe ich auch einen Menueeintrag mit folgenden Werten:
insmod part_msdos
insmod ext2
set root=(hd1,msdos1)
search----- usw. (uuid von sdb1)
(bzw in grub.cfg)
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-486 (on /dev/sdb1)" {
insmod part_msdos
insmod ext2
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set 9f975347-f033-48f4-80cd-53be4721dd87
linux /boot/vmlinuz-2.6.32-5-486 root=UUID=3e4f5110-1615-450f-ab46-340667658294 ro quiet vga=0x317
initrd /boot/initrd.img-2.6.32-5-486
}
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-486 (recovery mode) (on /dev/sdb1)" {
insmod part_msdos
insmod ext2
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set 9f975347-f033-48f4-80cd-53be4721dd87 (das ist sdb1)
linux /boot/vmlinuz-2.6.32-5-486 root=UUID=3e4f5110-1615-450f-ab46-340667658294 ro single (das ist sda1???)
initrd /boot/initrd.img-2.6.32-5-486
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Nein
Verstehe ich Dich richtig, dass grub2 aus /dev/sda1 heraus in den boot-Sektor von /dev/sda installiert wurde und Du aus diesem grub heraus /dev/sdb1 starten willst?
Ja.
Tschau
Hermann
Re: Kopie von squeeze auf eine andere Festplatte.
Ich verstehe das nicht, da unpräzise.hermelin hat geschrieben:Verstehe ich Dich richtig, dass grub2 aus /dev/sda1 heraus in den boot-Sektor von /dev/sda installiert wurde und Du aus diesem grub heraus /dev/sdb1 starten willst?
Ja.
Grub2 wurde aus /dev/sda1 heraus in den Boot-Sektor von /dev/sda installiert. heißt vermutlich, dass mit update-grub (nicht aus /dev/sda1 heraus, sondern von einem laufenden GNU/Linux aus (vermutlich das mit Kernel aus /dev/sda1 und /dev/sda1 als /)) der MBR von /dev/sda so beschrieben wurde, dass der Grub aus /dev/sda1 gestartet wird. Das passiert aber nur, wenn das Bios von der ersten Festplatte bootet.
Du willst aus diesem grub heraus /dev/sdb1 starten. heißt vermutlich, dass du mit dem Grub, der mit Hilfe des MBR von /dev/sda aus /dev/sda1 geladen wurde, den Kernel und die Initrd aus /dev/sdb1 laden und damit das GNU/Linux mit /dev/sdb1 als / starten willst, oder dass du mit dem Grub, der mit Hilfe des MBR von /dev/sda aus /dev/sda1 geladen wurde, den Grub auf /dev/sdb1 laden willst (chainloader), der dann den Kernel und die Initrd aus /dev/sdb1 lädt und das GNU/Linux mit /dev/sdb1 als / startet.
/dev/sda heißt bei Grub hd0, /dev/sdb heißt bei Grub hd1.
Ich vermute mal, dass dies
Code: Alles auswählen
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-486 (recovery mode) (on /dev/sdb1)" {
insmod part_msdos
insmod ext2
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set 9f975347-f033-48f4-80cd-53be4721dd87 (das ist sdb1)
linux /boot/vmlinuz-2.6.32-5-486 root=UUID=3e4f5110-1615-450f-ab46-340667658294 ro single (das ist sda1???)
initrd /boot/initrd.img-2.6.32-5-486
Wie ist dieser Menüeintrag zustande gekommen? Wieso wird /dev/sdb1 verändert, wenn du unter einem GNU/Linux, das /dev/sda1 als / hat, den Grub neu konfigurierst?
Sollte von der ersten Platte aus gebootet werden, dann ist der Eintrag auf in /boot/grub/grub.cfg auf /dev/sdb1 uninteressant. Dann lädt nämlich der Grub aus /dev/sda1 den Kernel und die Initrd und startet das GNU/Linux.
Ist das vllt der Eintrag von /dev/sda1? Der könnte nämlich wie folgt enstanden sein.
update-grub sucht nach anderen Betriebssystemen und findet auf /dev/sdb1 etwas. Was das genau ist, bestimmt es aus der grub.cfn von /dev/sdb1. Darin steht (da es von /dev/sda1 kopiert wurde), dass mit dem gefundenen Kernel und der dazugehörigen Initrd ein GNU/Linux mit /dev/sda1 als / gestartet werden soll. So erstellt update-grub einen Eintrag, der den Kernel und die Initrd von /dev/sdb1 lädt und damit ein GNU/Linux mit /dev/sda1 als / startet.
Harry, hol schon mal das Rasiermesser!
- uwepr
- Beiträge: 657
- Registriert: 03.02.2007 12:13:01
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Halle/S.
-
Kontaktdaten:
Re: Kopie von squeeze auf eine andere Festplatte.
Hallo,
ich würde einen Eintrag in /etc/grub.d/40_custom versuchen:
Danach update-grub machen und versuchen, über den neuen Eintrag die Partition zu starten. Wenn das geklappt hat und debian aus der neuen Partition heraus läuft, würde ich den grub der neuen Partition in deren boot-Sektor ( /dev/sdb1) installieren:
(im neuen System)
update-grub
grub-install /dev/sdb1
Danach altes System starten, weiterer Eintrag in /etc/grub.d/40_custom:
menuentry "gespiegeltes System" {
set root=(hd1,1)
chainloader +1
}
Danach im alten System:
update-grub
Nun sollte es auch möglich sein, die neue Partition mit chainloader zu starten. Vorteil: wenn Du im neuen System irgendwann einen neuen Kernel installierst, musst Du Dich nicht extra um einen neuen Eintrag in /etc/grub.d/40_custom + update-grub im alten System kümmern. update-grub im neuen System sollte das dann automatisch erledigen.
Beste Grüße!
Uwe Pr.
ich würde einen Eintrag in /etc/grub.d/40_custom versuchen:
Code: Alles auswählen
menuentry "gespiegeltes System (on /dev/sdb1)" {
insmod part_msdos
insmod ext2
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set 9f975347-f033-48f4-80cd-53be4721dd87
linux /boot/vmlinuz-2.6.32-5-486 root=UUID=9f975347-f033-48f4-80cd-53be4721dd87 ro quiet vga=0x317
initrd /boot/initrd.img-2.6.32-5-486
}
(im neuen System)
update-grub
grub-install /dev/sdb1
Danach altes System starten, weiterer Eintrag in /etc/grub.d/40_custom:
menuentry "gespiegeltes System" {
set root=(hd1,1)
chainloader +1
}
Danach im alten System:
update-grub
Nun sollte es auch möglich sein, die neue Partition mit chainloader zu starten. Vorteil: wenn Du im neuen System irgendwann einen neuen Kernel installierst, musst Du Dich nicht extra um einen neuen Eintrag in /etc/grub.d/40_custom + update-grub im alten System kümmern. update-grub im neuen System sollte das dann automatisch erledigen.
Beste Grüße!
Uwe Pr.
squeeze/fluxbox
Re: Kopie von squeeze auf eine andere Festplatte. (Geloest)
Hallo.
Danke, es hatt geklappt.
Tschau
Hermann
Uwe Pr. hat geschrieben:Hallo,
ich würde einen Eintrag in /etc/grub.d/40_custom versuchen:
Danach update-grub machen und versuchen, über den neuen Eintrag die Partition zu starten. Wenn das geklappt hat und debian aus der neuen Partition heraus läuft, würde ich den grub der neuen Partition in deren boot-Sektor ( /dev/sdb1) installieren:Code: Alles auswählen
menuentry "gespiegeltes System (on /dev/sdb1)" { insmod part_msdos insmod ext2 set root='(hd1,msdos1)' search --no-floppy --fs-uuid --set 9f975347-f033-48f4-80cd-53be4721dd87 linux /boot/vmlinuz-2.6.32-5-486 root=UUID=9f975347-f033-48f4-80cd-53be4721dd87 ro quiet vga=0x317 initrd /boot/initrd.img-2.6.32-5-486 }
(im neuen System)
update-grub
grub-install /dev/sdb1
Danach altes System starten, weiterer Eintrag in /etc/grub.d/40_custom:
menuentry "gespiegeltes System" {
set root=(hd1,1)
chainloader +1
}
Danach im alten System:
update-grub
Nun sollte es auch möglich sein, die neue Partition mit chainloader zu starten. Vorteil: wenn Du im neuen System irgendwann einen neuen Kernel installierst, musst Du Dich nicht extra um einen neuen Eintrag in /etc/grub.d/40_custom + update-grub im alten System kümmern. update-grub im neuen System sollte das dann automatisch erledigen.
Beste Grüße!
Uwe Pr.
Danke, es hatt geklappt.
![Razz :P](./images/smilies/icon_razz.gif)
Tschau
Hermann