Modifikace GRUB/EFI po klonování disku

Modifikace GRUB/EFI po klonování disku
« kdy: 16. 05. 2021, 22:12:24 »
Zdravím komunito!

potřeboval bych konzultaci od někoho kdo to umí s EFI a má zkušenosti s klonováním disků.
Mám v PC dva disky (ve skutečnosti jich tam mám víc, ale ty další nejsou podstatné). Na jednom jsou widle a EFI partition a na druhém je Ubuntu (včetně jeho GRUBu a jeho všeho). Zavaděče pro oba systémy jsou v té EFI partition na prvním disku. Vtip je v tom, že ten disk s Ubuntu mi kapacitně přestal stačit, tak chci pořídit nový. Obsah toho disku s Linuxem bych rád bez ztráty květinky přesunul (překlonoval) na nový disk (mám v úmyslu použít Clonezillu, ale rád se nechám poučit o lepších alternativách) abych nemusel instalovat a nastavovat hromadu věcí od nuly. Ovšem jak teď s tím zavaděčem v EFI? Co všechno a hlavně jak musím udělat aby zavaděč po překlonování zaváděl z nového disku? Vím, že Clonezilla umožňuje po klonování přeinstalovat grub na cílovém disku aby všechno sedělo, ale co to EFI? Moc děkuju za odpovědi.

Ondřej


_Jenda

  • *****
  • 1 600
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #1 kdy: 16. 05. 2021, 22:42:45 »
Podle mě jsou dvě možnosti jak to může fungovat.

1) Já mám vedle souboru s efigrubem (/boot/efi/EFI/debian/grubx64.efi) ještě soubor /boot/efi/EFI/debian/grub.cfg, ve kterém je napsáno, kde se má hledat zbytek grubu:
Kód: [Vybrat]
search.fs_uuid XXXXXXXXX root
set prefix=($root)'/grub'
configfile $prefix/grub.cfg
myslím, že bude stačit upravit tento soubor, aby hledal na novém zkopírovaném disku.

2) Cesta ke grub rootu je přímo natvrdo embednutá v tom grub image. Pak je potřeba systém spustit nějakým jiným způsobem (například pomocí GRUBu na live flashce) a udělat grub-install, čímž se image přegeneruje s novou cestou.

Ještě bys mohl zkusit kopírovat tak, aby se nezměnily UUID disku (UUID filesystémů a GPT) - pak by to mohlo jet samo.

k3dAR

  • *****
  • 2 982
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #2 kdy: 16. 05. 2021, 23:00:55 »
Clonezilla, "disk to disk", UUID to nemeni, takze nemusis nic resit krome fyzickeho prohozeni disku pak ;-)

_Jenda

  • *****
  • 1 600
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #3 kdy: 16. 05. 2021, 23:03:29 »
Citace
(například pomocí GRUBu na live flashce)
Tohle vlastně není potřeba. Když se GRUB nenajde, tak tě hodí do konzole - a tam ty výše zmíněné tři řádky můžeš napsat ručně, případně můžeš rovnou zavést Linux (zadáš: linux (hdX,gptY)/vmlinuz root=blabla; initrd (hdX,gptY)/initrd; boot).

Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #4 kdy: 16. 05. 2021, 23:15:28 »
Díky za reakce.

Citace
Podle mě jsou dvě možnosti jak to může fungovat.

První možnost vypadá dost použitelně. U té druhé možnosti myslíš přeinstalovat EFIgrub, ne ten "zbytek" grubu?

Citace
Clonezilla, "disk to disk", UUID to nemeni...

Takže EFI nepozná, že se něco změnilo? To jako fakt přenese i UUID? A nevadí, že starý disk je SATA/SSD a nový je NVME/SSD?

Ondřej


k3dAR

  • *****
  • 2 982
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #5 kdy: 17. 05. 2021, 00:14:48 »
Citace
Clonezilla, "disk to disk", UUID to nemeni...
Takže EFI nepozná, že se něco změnilo? To jako fakt přenese i UUID? A nevadí, že starý disk je SATA/SSD a nový je NVME/SSD?
v EFI oddilu je to jak pise Jenda, pro Grub co tam ma grub.cfg je pro nej smerodatne UUID na kterem ma pokracovat, jestli to UUID ma NVMe, SATA, ci USB je jedno...

Clonezila "prenese" UUID protoze proste dela kopii filesystemu kterej to UUID obsahuje, nejsem si ted jistej zda clonuje i PARTUUID nebo to generuje na ciloven svoje, ale to (a schodou okolnosti me na to upozornil nedavno take Jenda) pouziva RaspbianOS na RPi, ale GNU/Linux co vim pouziva vsude UUID (= filesystemu)...
To ze je to SATA Vs NVMe by vadilo pouze pokud bys mel system co postartu NEpouziva UUID ale nazvy zarizeni, takze bys mel (v grub.cfg a/nebo fstab a/nebo nekde jinde) misto UUID=XXXXX primo (napr.) /dev/sda1, tam by bylo treba rucne menit na (napr.)  /dev/nvme0n1p1...

Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #6 kdy: 17. 05. 2021, 00:44:23 »
Supr, tohle sem potřeboval slyšet. Díky moc chlapi za Váš čas a odpovědi :).

Ondřej

_Jenda

  • *****
  • 1 600
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #7 kdy: 17. 05. 2021, 00:58:41 »
pro Grub co tam ma grub.cfg je pro nej smerodatne UUID na kterem ma pokracovat, jestli to UUID ma NVMe, SATA, ci USB je jedno...
Není pro NVMe jiný driver, který ten image efigrubu v sobě nemusí mít zahrnutý? Alespoň já to chápu tak, že:
 - /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi (1.7 MB) - má v sobě všechny? moduly
 - /boot/efi/EFI/debian/grubx64.efi (140 kB) - zjevně v něm něco chybí, není to binárka vyrobená na míru při instalaci, ve které jsou jen moduly, které byly potřeba?

k3dAR

  • *****
  • 2 982
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #8 kdy: 17. 05. 2021, 03:01:10 »
pro Grub co tam ma grub.cfg je pro nej smerodatne UUID na kterem ma pokracovat, jestli to UUID ma NVMe, SATA, ci USB je jedno...
Není pro NVMe jiný driver, který ten image efigrubu v sobě nemusí mít zahrnutý? Alespoň já to chápu tak, že:
 - /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi (1.7 MB) - má v sobě všechny? moduly
 - /boot/efi/EFI/debian/grubx64.efi (140 kB) - zjevně v něm něco chybí, není to binárka vyrobená na míru při instalaci, ve které jsou jen moduly, které byly potřeba?
nevim ted jak u Debianu, nebo u nepodepsaneho(?) ale na Xubuntu mam v EFI ten monilitickej-podepsanej :-)

Kód: [Vybrat]
ls -l /boot/efi/EFI/ubuntu/grubx64.efi /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi
-rwx------ 1 root root 1685376 dub 23 14:56 /boot/efi/EFI/ubuntu/grubx64.efi
-rw-r--r-- 1 root root 1683456 úno 12 23:03 /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi
-rw-r--r-- 1 root root 1685376 úno 12 23:06 /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed

diff -s /boot/efi/EFI/ubuntu/grubx64.efi /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed
Soubory /boot/efi/EFI/ubuntu/grubx64.efi a /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed jsou identické

Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #9 kdy: 17. 05. 2021, 10:03:20 »
Hmm u mě /boot/efi/EFI/ubuntu/grubx64.efi je přes diff indetický s /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed tak snad dobré. No každopádně to vykouším zítra (až dorazí disk) a uvidím.

Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #10 kdy: 18. 05. 2021, 21:06:19 »
Poslušně hlásím, že dobrá věc se podařila! Po klonování sem nechal vypnout PC a vyndal starý disk a po zapnutí vše naběhlo jak mělo. :) Ještě jednou díky za Váš čas.

k3dAR

  • *****
  • 2 982
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #11 kdy: 19. 05. 2021, 15:31:07 »
fajn :) btw: zapomel sem napsat, ale snad te to trklo pri volbach (v te Clonezille), ze tam lze nastavit aby to oddil+filesystem na cilovem automaticky natahlo, pokud si to nezasrnul (a neni to nahodou vychozi, (Clonezillu pouzivam svoji predkonfigurovanou), tak jeste zvetsis, treba z USBLive pustene Ubuntu + Gparted, nebo GPartedLive (slo by i z nabehleho v terminalu (pokud mas LVM tak snadneji))

Re:Modifikace GRUB/EFI po klonování disku
« Odpověď #12 kdy: 20. 05. 2021, 20:22:33 »
Tohle je jako poznámka v rámci jednoho návodu na stránkach Clonezilly, takže roztáhnuto mám  ;D