Fórum Root.cz
Hlavní témata => Software => Téma založeno: czechsys 28. 06. 2021, 17:04:06
-
Mam vice systemovych disku, ale grub se automaticky upgraduje jen na jednom. Pro zajimavost bych si chtel porovnat, co ma kazdy disk v boot recordu, tzn. co by se pak stalo, kdyby se OS startoval pres dany disk. Jde to nejak, aby to bylo lidsky citelne?
-
Lidi co dokazou cist x86 binarku nejspis tomu porozumi :)
Co bys chtel porovnavat? Bootovani je vicefazovy proces a selhat to muze na milion mistech. Nejbliz k simulaci se dostanes, pokud pridas disk v RO rezimu do emulatoru (a pro zapisy treba vyclenis cow rozsireni, byt pro samotny boot a mount rootfs bys zapisova prava nemel potrebovat a ani by se nemeli vyuzivat).
Pokud mas vice systemu v 1 PC, tak to mas uplne jiny rad chaosu.. a tohle neodladis ani v emulaci.
-
Ziaden problem ...
Ak ta zaujima hlavne grub tak ak sa pozries na info o grube na wikipedii
https://en.wikipedia.org/wiki/File:GNU_GRUB_on_MBR_partitioned_hard_disk_drives.svg
Tak samotny grub (v oripade non-efi) sa sklada z 2 casti - boot.img a core.img ktore sa nachadzaju v sektoroch 0-62 na disku , takze pre porovnanie je nutne dumpnut 446+32256 bytov na zaciatku tvojho disku .
Pre samotne dumpnutie mozes pouzit napr. dd
# dd if=/dev/sda of=grub_dump bs=512 count=62
Nasledne mozes zratat checksum
# md5sum grub_dump
Postup a prikaz sa moze samozrejme lisit v zavislosti ci ide o EFI/Non-efi a ci grub bol instalovany na zaciatok disku alebo do particie a pod.
-
Este doplnujuci link :
https://en.wikipedia.org/wiki/GNU_GRUB
Rozlozenie v pripade EFI
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bb/GNU_GRUB_on_GPT_partitioned_hard_disk_drives.svg/330px-GNU_GRUB_on_GPT_partitioned_hard_disk_drives.svg.png
-
# dd if=/dev/sda of=grub_dump bs=512 count=62
Nasledne mozes zratat checksum
# md5sum grub_dump
Takhle ne panove, pac soucasti prvniho sektoru na disku je partition table a ID disku.
Opravdu je treba z prvniho sektoru pouzit jen tech 446 bajtu. A zbytek dohledat podle toho zda EFI nebo Legacy boot.
-
Zajima me to proto, ze na tech diskach je mdraid, ale boot record jednotlivych disku to neovlivnuje. Takze pokud se mi automaticky aktualizoval grub treba na /dev/sda, co se stane, pokud spustim system z /dev/sdb? Porad to bude ukazovat na grub (zrejme), ale ma tam nejaky vliv ty aktualizacni zmeny? (tzn, zmenilo se jadro atd...)
-
třeba jádro na to nebude mít vliv, to se čte v /boot/grub/grub.cfg
jedině tam může být starý grub nebo něco, co nefunguje
pokud chcete, aby vám to startovalo i po havárii sda, tak si aktualní grub dejte taky na ty ostatní disky a je to
sudo grub-install /dev/sdb
...