Fórum Root.cz

Hlavní témata => Software => Téma založeno: Pavel 'TIGER' Růžička 09. 04. 2013, 17:41:15

Název: Příprava systému na klonování
Přispěvatel: Pavel 'TIGER' Růžička 09. 04. 2013, 17:41:15
Jak nejlépe připravit disk na klonování na další disky, tak aby nebylo nutné bootovat do záchraného systému a opravovat grub2? Problém vidím v UUID a ID disku, nejlepší by bylo přejít asi na PATH, ale nějak se nemohu dočíst, jak ho Grubu2 vnutit. Pak možná bude asi problém i v initrd ...
Název: Re:Příprava systému na klonování
Přispěvatel: Pavel 'TIGER' Růžička 10. 04. 2013, 11:27:55
Takže jsem vyzkoušel změnit fstab na path cestu: pci-0000:00:1f.2-scsi-0:0:0:0-part1 pochopitelně party správně přiřazené k oddílům. Dále jsem v /boot/grub2 změnil device.map na pci-0000:00:1f.2-scsi-0:0:0:0 tady pochopitelně bez partu. Nechal jsem vygenerovat nový initrd a nový grub.cfg a stejně při naklonování končím na hlášce:

Trying manual resume from /dev/sda1
resume device /dev/sda1 not found (ignoring)
Trying manual resume from /dev/sda1
resume device /dev/sda1 not found (ignoring)
Waiting  for device /dev/root to appear .................................... Could not find /dev/root.
Want me to fall back to /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0-part2? (Y/n)

Klávesy Y/n pochopitelně nereagují.

Originál jede bez problému, jen te kopie se přes tohle nehne, tohle vlastně naběhne hned po grubu.

Mám velké podezření na grub.cfg, jelikož tam jsou UUID cesty k disku a i to /dev/sda1 je tam prapodivné. Nicméně všude jsem se dočetl, že grub2 se needituje, ale generuje ... tak jsem si netroufl do toho zasáhnout.

grub.cfg:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-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="${saved_entry}"

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

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 {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2'  8d84c8e4-e91e-4320-bcc1-38bd82913eb4
else
  search --no-floppy --fs-uuid --set=root 8d84c8e4-e91e-4320-bcc1-38bd82913eb4
fi
    font="/usr/share/grub2/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=POSIX
  insmod gettext
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2'  8d84c8e4-e91e-4320-bcc1-38bd82913eb4
else
  search --no-floppy --fs-uuid --set=root 8d84c8e4-e91e-4320-bcc1-38bd82913eb4
fi
insmod gfxmenu
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans12.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/ascii.pf2
insmod png
set theme=($root)/boot/grub2/themes/openSUSE/theme.txt
export theme
if [ x${boot_once} = xtrue ]; then
  set timeout=0
elif sleep --interruptible 0 ; then
  set timeout=2
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'openSUSE 12.3' --class 'opensuse-12-3' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-8d84c8e4-e91e-4320-bcc1-38bd82913eb4' {
   load_video
   set gfxpayload=keep
   insmod gzio
   insmod part_msdos
   insmod ext2
   set root='hd0,msdos2'
   if [ x$feature_platform_search_hint = xy ]; then
     search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2'  8d84c8e4-e91e-4320-bcc1-38bd82913eb4
   else
     search --no-floppy --fs-uuid --set=root 8d84c8e4-e91e-4320-bcc1-38bd82913eb4
   fi
   echo   'Loading Linux 3.7.10-1.1-desktop ...'
   linux   /boot/vmlinuz-3.7.10-1.1-desktop root=UUID=8d84c8e4-e91e-4320-bcc1-38bd82913eb4   resume=/dev/sda1 splash=silent quiet showopts
   echo   'Loading initial ramdisk ...'
   initrd   /boot/initrd-3.7.10-1.1-desktop
}
submenu 'Advanced options for openSUSE 12.3' $menuentry_id_option 'gnulinux-advanced-8d84c8e4-e91e-4320-bcc1-38bd82913eb4' {
   menuentry 'openSUSE 12.3, with Linux 3.7.10-1.1-desktop' --class 'opensuse-12-3' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.7.10-1.1-desktop-advanced-8d84c8e4-e91e-4320-bcc1-38bd82913eb4' {
      load_video
      set gfxpayload=keep
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='hd0,msdos2'
      if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2'  8d84c8e4-e91e-4320-bcc1-38bd82913eb4
      else
        search --no-floppy --fs-uuid --set=root 8d84c8e4-e91e-4320-bcc1-38bd82913eb4
      fi
      echo   'Loading Linux 3.7.10-1.1-desktop ...'
      linux   /boot/vmlinuz-3.7.10-1.1-desktop root=UUID=8d84c8e4-e91e-4320-bcc1-38bd82913eb4   resume=/dev/sda1 splash=silent quiet showopts
      echo   'Loading initial ramdisk ...'
      initrd   /boot/initrd-3.7.10-1.1-desktop
   }
   menuentry 'openSUSE 12.3, with Linux 3.7.10-1.1-desktop (recovery mode)' --class 'opensuse-12-3' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.7.10-1.1-desktop-recovery-8d84c8e4-e91e-4320-bcc1-38bd82913eb4' {
      load_video
      set gfxpayload=keep
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='hd0,msdos2'
      if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2'  8d84c8e4-e91e-4320-bcc1-38bd82913eb4
      else
        search --no-floppy --fs-uuid --set=root 8d84c8e4-e91e-4320-bcc1-38bd82913eb4
      fi
      echo   'Loading Linux 3.7.10-1.1-desktop ...'
      linux   /boot/vmlinuz-3.7.10-1.1-desktop root=UUID=8d84c8e4-e91e-4320-bcc1-38bd82913eb4  showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset  x11failsafe
      echo   'Loading initial ramdisk ...'
      initrd   /boot/initrd-3.7.10-1.1-desktop
   }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###

### BEGIN /etc/grub.d/30_os-prober ###
### 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  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###

Tak a co s tím? Chci jen naklonovat identický a funkční stroj, abych nemusel po klonování nic upravovat. Ovšem tento úkol se zdá být naprosto nemožný.
Název: Re:Příprava systému na klonování
Přispěvatel: Zopper 10. 04. 2013, 16:25:18
No, vykašlat se na nějaké pci a uuid... a použít klasické /dev/sda1, sda2, ... a pak dd if=/dev/sda of=/dev/sdb.

Pokud je v tom systému při startu jediný disk, tak to bude takto fungovat vždycky. Pokud je tam disků víc, pak záleží na tom, jaká dostanou jména (pořadí v jakém je připojí bios). Alternativou pak je použít label, ten by to vyřešil, ale nemám zkušenost jak to bere grub.
Název: Re:Příprava systému na klonování
Přispěvatel: Pavel 'TIGER' Růžička 10. 04. 2013, 17:59:39
No, vykašlat se na nějaké pci a uuid... a použít klasické /dev/sda1, sda2, ... a pak dd if=/dev/sda of=/dev/sdb.

Pokud je v tom systému při startu jediný disk, tak to bude takto fungovat vždycky. Pokud je tam disků víc, pak záleží na tom, jaká dostanou jména (pořadí v jakém je připojí bios). Alternativou pak je použít label, ten by to vyřešil, ale nemám zkušenost jak to bere grub.

No fajn a jak mám upravit ten grub.cfg, aby tam neměl ty šílenosti a  akceptoval klasiku /dev/sdx? Zkoušel jsem to různě, ale nějak jsem nepochodil. V duchu si říkám, co komu vadilo na původním grubu? Tohle je fakt šílenost, jen dva dny pročítám různé manuály a něco tak primitivního jako je klon systému prostě nefunguje. Hlavně, že máme Linuxové nástroje, které bezproblémově klonují Windows, ale chceme li naklonovat Linux, musíme číst tuny materiálu ...
Název: Re:Příprava systému na klonování
Přispěvatel: Zopper 10. 04. 2013, 19:30:14
Právě že nijak. ;-)
Jediná manuální úprava je ve fstab. Pak stačí jen přegenerovat initramfs a konfiguraci grubu (v debianu update-initramfs -u && update-grub, v archlinuxu mkinitcpio -p linux && grub-mkconfig -o /boot/grub/grub.cfg) a naklonovat celý disk přes dd. Systém přežije i pokud budeš klonovat přímo v živém systému, právě otestováno ve virtualboxu na debianu.

Samozřejmě, pokud máš LVM, LUKS, či jiné serepetičky, tak musíš upravit i ty, ale jinak problém není... Já nový systém instaluju jen výjimečně, obvykle klonuju už existující.
Název: Re:Příprava systému na klonování
Přispěvatel: Pavel 'TIGER' Růžička 10. 04. 2013, 19:52:33
Právě že nijak. ;-)
Jediná manuální úprava je ve fstab. Pak stačí jen přegenerovat initramfs a konfiguraci grubu (v debianu update-initramfs -u && update-grub, v archlinuxu mkinitcpio -p linux && grub-mkconfig -o /boot/grub/grub.cfg) a naklonovat celý disk přes dd. Systém přežije i pokud budeš klonovat přímo v živém systému, právě otestováno ve virtualboxu na debianu.

Samozřejmě, pokud máš LVM, LUKS, či jiné serepetičky, tak musíš upravit i ty, ale jinak problém není... Já nový systém instaluju jen výjimečně, obvykle klonuju už existující.

Tak to jdu schválně zkusit. Mám openSUSE, ale podobnost snad dohledám. Nicméně nezkoušel si klonovat i přes clonezillu?
Název: Re:Příprava systému na klonování
Přispěvatel: Zopper 10. 04. 2013, 20:27:06
Nezkoušel. Jen výjimečně to klonuju na menší disk a pak to řeším stylem "vytvořit oddíly, rsync dat, chroot, reinstalace grubu".
Název: Re:Příprava systému na klonování
Přispěvatel: Pavel 'TIGER' Růžička 10. 04. 2013, 21:00:46
Hm, tak stejně to u mne nezabralo, přepsal jsem oddíly na sdax, spustil mkinitrd a grub-install a výsledek je stejný. Hele, když přepíšeš fstab na klasiku a spustíš ten initramfs s uptadem grubu, jak potom vypadá onen grub.cfg, jsou tam ty šílenosti UUID atp? Mne zaráží, že když změním způsob z id na uuid, či path, tak v grub.cfg je pořád jen to uuid a způsob v něm se nemění ... chápal bych, že když to změním v fstab a nechám to přegenerovat pro grub, že by se to mělo změnit i tam ... ale to se neděje. Je to správně, či nikoliv?
Název: Re:Příprava systému na klonování
Přispěvatel: pavel 10. 04. 2013, 21:07:27
Klonoval jsem systém z staršího notebooku na novější (stejný výrobce a typ, jen novější verze notebooku). Taky jsem se obával UUID.

Takže jsem si vytvořil diskové oddíly, změnil jejich UUID tak, aby byly stejné jako na starém disku, nakopíroval soubory, smazal /etc/udev/rules.d/70-persistent-net.rules a /etc/udev/rules.d/70-persistent-cd.rules, reboot, pomocí instalačního DVD jsem obnovil Grub (systémem klik-klik-obnovit Grub), hotovo (Debian Sqeeze).

Před 14 dny jsem dělal to samé, ale jiným způsobem - vytvořil diskové oddíly, obnovil předtím zazálohované diskové oddíy pomocí fsarchiver (ten zálohuje i UUID), smazal /etc/udev/rules.d/70-persistent-net.rules a /etc/udev/rules.d/70-persistent-cd.rules, reboot, pomocí instalačního DVD jsem obnovil Grub (systémem klik-klik-obnovit Grub), hotovo (CentOS 6).
Název: Re:Příprava systému na klonování
Přispěvatel: Zopper 10. 04. 2013, 21:10:35
Pak by mělo pomoct tohle (v /etc/default/grub) :-)

Kód: [Vybrat]
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
GRUB_DISABLE_LINUX_UUID=true
Název: Re:Příprava systému na klonování
Přispěvatel: Zopper 10. 04. 2013, 21:17:35
Ještě to vysvětlím - ta úprava fstabu se týká s ohledem na grub jen toho, jaký oddíl je kam připojený, neřeší styl identifikace. Tzn fstab je potřeba upravit pro připojení oddílů po startu a hlavně pro initramfs, který by jinak skončil na tom, že nemůže najít root. Pro grub je rozhodující ta volba v nastavení, zapomněl jsem na ni. :)
Název: Re:Příprava systému na klonování
Přispěvatel: Pavel 'TIGER' Růžička 10. 04. 2013, 21:51:26
Klonoval jsem systém z staršího notebooku na novější (stejný výrobce a typ, jen novější verze notebooku). Taky jsem se obával UUID.

Takže jsem si vytvořil diskové oddíly, změnil jejich UUID tak, aby byly stejné jako na starém disku, nakopíroval soubory, smazal /etc/udev/rules.d/70-persistent-net.rules a /etc/udev/rules.d/70-persistent-cd.rules, reboot, pomocí instalačního DVD jsem obnovil Grub (systémem klik-klik-obnovit Grub), hotovo (Debian Sqeeze).

Před 14 dny jsem dělal to samé, ale jiným způsobem - vytvořil diskové oddíly, obnovil předtím zazálohované diskové oddíy pomocí fsarchiver (ten zálohuje i UUID), smazal /etc/udev/rules.d/70-persistent-net.rules a /etc/udev/rules.d/70-persistent-cd.rules, reboot, pomocí instalačního DVD jsem obnovil Grub (systémem klik-klik-obnovit Grub), hotovo (CentOS 6).

Tak tomuto bych se rád vyhnul, přeci jen to budu kopírovat na nějakých třicet strojů. U jednoho bych si poradil a nezakládal toto vlákno, ale většího množství už  to otravuje.
Název: Re:Příprava systému na klonování
Přispěvatel: Pavel 'TIGER' Růžička 10. 04. 2013, 21:56:21
Ještě to vysvětlím - ta úprava fstabu se týká s ohledem na grub jen toho, jaký oddíl je kam připojený, neřeší styl identifikace. Tzn fstab je potřeba upravit pro připojení oddílů po startu a hlavně pro initramfs, který by jinak skončil na tom, že nemůže najít root. Pro grub je rozhodující ta volba v nastavení, zapomněl jsem na ni. :)

Tak tohle už vypadá velmi zajímavě, ale řeknu Ti, Grub2 je celkem šílenej ... rozházené je to po celém systému, nějak se nám vytratila ta jednoduchost. :-/ dříve většinou stačilo sáhnout do menu.lst a vyřešilo se vše. Inu pokrok ...
Název: Re:Příprava systému na klonování
Přispěvatel: Zopper 10. 04. 2013, 22:46:14
Jo, taky mi přijde, že grub2 to zbytečně komplikuje. Chápu, že asi s příchodem (U)EFI, vývojem požadavků a tak, mohlo být nejlepším řešením "zpátky na stromy a znovu a jinak", ale řekl bych, že se to chytilo za špatný konec.
Název: Re:Příprava systému na klonování
Přispěvatel: Pavel 'TIGER' Růžička 10. 04. 2013, 23:43:24
Jo, přesně tak nějak to vidím ... po stránce, co to umí, to je asi dobré, ale zpracování už tak dobré není. /// Tak jsem to odkomentoval, ale problém bude asi v initrd i když pořád podezírám Grub2. Opensuse nepoužívá initramfs, ale initrd. A při vytváření nevypadá, že by bylo něco špatně. Nechám to teď rozležet v hlavě. Tak pořád to mohu naklonovat a pak chodit s opravním CD, ale u třiceti strojů, to mne fakt neláká ... Pro jistotu jsem napsal i na forum openSUSE.
Název: Re:Příprava systému na klonování
Přispěvatel: Zopper 11. 04. 2013, 09:52:39
Hmmmm.... Jako že ve vygenerovaném grub.conf máš pořád UUID?
Tak v nejhorším se to dá upravit ručně, naklonovat, a pak když přegeneruješ na běžícím stroji, tak se tam už doplní aktuální hodnoty...
Do grub.conf se nemá sahat právě proto, že se se bez varování přepíše.

Pokud je to v initrd, tak to pak nevím, nemám ho nikde.
Název: Re:Příprava systému na klonování
Přispěvatel: Pavel 'TIGER' Růžička 11. 04. 2013, 10:50:35
Tentokrát to byla moje chyba, spustil jsem aktualizace, protože mezi nima byl i grub, doufaje v nějakou změnu, a nepřekontroloval jsem si to nastavení v /etc/default/grub a on vrátil to nastavení toho UUID. Tak jsem to zase odkomentoval, vygeneroval a vylezlo toto:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-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="${saved_entry}"

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

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 {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2'  8d84c8e4-e91e-4320-bcc1-38bd82913eb4
else
  search --no-floppy --fs-uuid --set=root 8d84c8e4-e91e-4320-bcc1-38bd82913eb4
fi
    font="/usr/share/grub2/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=cs_CZ
  insmod gettext
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2'  8d84c8e4-e91e-4320-bcc1-38bd82913eb4
else
  search --no-floppy --fs-uuid --set=root 8d84c8e4-e91e-4320-bcc1-38bd82913eb4
fi
insmod gfxmenu
loadfont ($root)/boot/grub2/themes/openSUSE/ascii.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans12.pf2
insmod png
set theme=($root)/boot/grub2/themes/openSUSE/theme.txt
export theme
if [ x${boot_once} = xtrue ]; then
  set timeout=0
elif sleep --interruptible 0 ; then
  set timeout=2
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'openSUSE 12.3' --class 'opensuse-12-3' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-8d84c8e4-e91e-4320-bcc1-38bd82913eb4' {
   load_video
   set gfxpayload=keep
   insmod gzio
   insmod part_msdos
   insmod ext2
   set root='hd0,msdos2'
   if [ x$feature_platform_search_hint = xy ]; then
     search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2'  8d84c8e4-e91e-4320-bcc1-38bd82913eb4
   else
     search --no-floppy --fs-uuid --set=root 8d84c8e4-e91e-4320-bcc1-38bd82913eb4
   fi
   echo   'Loading Linux 3.7.10-1.1-desktop ...'
   linux   /boot/vmlinuz-3.7.10-1.1-desktop root=/dev/sda2   resume=/dev/sda1 splash=silent quiet showopts
   echo   'Loading initial ramdisk ...'
   initrd   /boot/initrd-3.7.10-1.1-desktop
}
submenu 'Advanced options for openSUSE 12.3' $menuentry_id_option 'gnulinux-advanced-8d84c8e4-e91e-4320-bcc1-38bd82913eb4' {
   menuentry 'openSUSE 12.3, with Linux 3.7.10-1.1-desktop' --class 'opensuse-12-3' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.7.10-1.1-desktop-advanced-8d84c8e4-e91e-4320-bcc1-38bd82913eb4' {
      load_video
      set gfxpayload=keep
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='hd0,msdos2'
      if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2'  8d84c8e4-e91e-4320-bcc1-38bd82913eb4
      else
        search --no-floppy --fs-uuid --set=root 8d84c8e4-e91e-4320-bcc1-38bd82913eb4
      fi
      echo   'Loading Linux 3.7.10-1.1-desktop ...'
      linux   /boot/vmlinuz-3.7.10-1.1-desktop root=/dev/sda2   resume=/dev/sda1 splash=silent quiet showopts
      echo   'Loading initial ramdisk ...'
      initrd   /boot/initrd-3.7.10-1.1-desktop
   }
   menuentry 'openSUSE 12.3, with Linux 3.7.10-1.1-desktop (recovery mode)' --class 'opensuse-12-3' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.7.10-1.1-desktop-recovery-8d84c8e4-e91e-4320-bcc1-38bd82913eb4' {
      load_video
      set gfxpayload=keep
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='hd0,msdos2'
      if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 --hint='hd0,msdos2'  8d84c8e4-e91e-4320-bcc1-38bd82913eb4
      else
        search --no-floppy --fs-uuid --set=root 8d84c8e4-e91e-4320-bcc1-38bd82913eb4
      fi
      echo   'Loading Linux 3.7.10-1.1-desktop ...'
      linux   /boot/vmlinuz-3.7.10-1.1-desktop root=/dev/sda2  showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset  x11failsafe
      echo   'Loading initial ramdisk ...'
      initrd   /boot/initrd-3.7.10-1.1-desktop
   }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###

### BEGIN /etc/grub.d/30_os-prober ###
### 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  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###

To hlavní je asi změněné na sdx, ale pořád je tam na můj vkus i dost těch UUID ... no jdu to zkusit naklonovat. Ale moc tomu nevěřím.

Také jsem zjistil, že když dám mkinitrd initrd list, tak to hlásí: "Could not find map initrd/boot/System.map please specify a correct file with -M. Ale jestli to může mít nějaký vliv netuším, protože samotné mkinitrd proběhne bez chyby. Teda, ale je to věda .... Můžeš mi prosím pastnout Tvůj grub.cfg, abych to mohl porovnat?
Název: Re:Příprava systému na klonování
Přispěvatel: Pavel 'TIGER' Růžička 11. 04. 2013, 15:52:39
Tak jsem zjistil, že na naklonované mašině ještě, než se spustí můj stále více <ironie>oblíbený</ironie> hodí 3x  error: file not found a pak, když má začít spouštět, tak to samé 3x error: file not found a pak spouští linux 3.x ... až se zasekne na původní zprávě tohoto vlákna. Takže, co to detekuje, než se spustí grub? Jelikož ta chyba je 3x, tak to odhaduji na oddíly, protože mám tři, ale to je fakt jen odhad. Na zdrojové mašině to nedělá. Nejhorší na tom je, že neexistuje alternativa a člověk na moderní distribuci musí tuto hrůzu používat.
Název: Re:Příprava systému na klonování
Přispěvatel: Zopper 11. 04. 2013, 18:17:16
Hmmm, tak koukám, že ten můj grub vypadá podobně jak u tebe, taky je to mix uuid a sda. Zajímavé, že si nepamatuju, že bych s tím měl problémy...

No, našel jsem doporučení, že pokud nechci UUID, je lepší použít label. Návod: https://wiki.archlinux.org/index.php/GRUB2#Using_Labels (https://wiki.archlinux.org/index.php/GRUB2#Using_Labels) (a vůbec ta arch wiki je celkem šikovná :) ).

Tak to můžeš zkusit a uvidíš...
Název: Re:Příprava systému na klonování
Přispěvatel: Pavel 'TIGER' Růžička 12. 04. 2013, 15:45:00
I ten poslední pokus selhal ... ale nejraději bych si nakopal! Chyba nebyla v grubu, chyba nebyla v initrd, ale chyba byla v biosu .... jeden notes měl kompatibilitu sata Compatibility a druhý AHCI. Blbě jsem to překontroloval, protože v biosu je to značené Serial ATA (SATA) ... tak jsem bral tu závorku jako nastavené ... a když se člověk podívá do nabídky, tak to bylo nastavené, ale u každého stroje jinak. Nesměj se tak hlasitě! Čtyři dny, to jde, ne?