Fórum Root.cz

Hlavní témata => Distribuce => Téma založeno: - - 05. 03. 2021, 11:20:53

Název: LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: - - 05. 03. 2021, 11:20:53
Ahoj, byl bych moc vděčný za radu. Nový počítač podporuje podle všeho jen UEFI, ne BIOS MBR/legacy.
A já mám ve starém PC šifrovaný LUKS disk s MBR. Takže když změním UEFI boot tak POST hlásí 3F0 chybu a s diskem se nebaví (https://forum.manjaro.org/t/hp-pc-does-not-boot-linux-manjaro-3f0-bootdevice-not-found-efi-gpt-mbr-luks-issue/56232/4?).

Zjistil jsem, že je asi potřeba vytvořit EFI oddíl, jenže problém je jak. Když v gparted dešifruju ten LUKS disk, tak není vidět boot oddíl , jen ext4 a gparted říká: Cant have a partition outside the disk! (díky tomu nelze disk zálohovat pomocí FIleZilla, RedoBackup fungoval)

$ sudo fdisk -l /dev/sda* ukazuje jen 1 oddíl:

Citace
    Disklabel type: dos
    Disk identifier: 0xc75ac368

    Device Boot Start End Sectors Size Id Type
    /dev/sda1 * 2048 234436544 234434497 111,8G 83 Linux

$ sudo gdisk -l /dev/sda ukazuje:

Citace
    GPT fdisk (gdisk) version 1.0.6

    Warning: Partition table header claims that the size of partition table
    entries is 1153912944 bytes, but this program supports only 128-byte entries.
    Adjusting accordingly, but partition table may be garbage.
    Warning: Partition table header claims that the size of partition table
    entries is 0 bytes, but this program supports only 128-byte entries.
    Adjusting accordingly, but partition table may be garbage.
    Partition table scan:
    MBR: MBR only
    BSD: not present
    APM: not present
    GPT: not present
    …
    Partition table holds up to 128 entries
    Main partition table begins at sector 2 and ends at sector 33
    First usable sector is 34, last usable sector is 234441614
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 7084 sectors (3.5 MiB)

    Number Start (sector) End (sector) Size Code Name
    1 2048 234436544 111.8 GiB 8300 Linux filesystem

Jak byste tedy postupovali ohledně umožnění UEFI bootování z toho disku? Pod odkazem v prvním odstavci jsou popsané postupy jak pracovat s grub ohledně EFI, nevím ale jestli to stačí, protože podle manuálu pro můj systém se uvádí že potřebuju asi 300MB EFI oddíl FAT32 (https://wiki.manjaro.org/index.php?title=UEFI_-_Install_Guide#Switching_from_BIOS_to_UEFI), asi s boot a esp flag.

děkuji
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: by_cx 05. 03. 2021, 11:35:05
Osobně bych asi přeinstaloval systém a přizpůsobil oddíly novému hardwaru. Pokud bych opravdu chtěl zachovat oddíly, tak bych udělal přes dd obraz disku na jiný disk, vytvořil GPT tabulku a oddíly jak potřebuju a pak bych tam přes dd nakopíroval oddíly, na kterých mi záleží, z té zálohy. Přes nějaké rescue CD bych pak nainstaloval grub do EFI oddílu a možná by to i naběhlo :-)
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: Radek Zajíc 05. 03. 2021, 12:51:36
Pro boot pomocí UEFI skutečně potřebujete FAT32 oddíl (EFI System Partition, type/GUID C12A7328-F81F-11D2-BA4B-00A0C93EC93B). Ten nicméně nemusí být na tom samém disku, kde je systém. Klidně může být na flashce.

Pokud chcete mít tenhle oddíl na hlavním disku, budete na něj muset udělat místo. To znamená:
1) odemknout LUKS kontejner (uvnitř partition /dev/sda1) a zmenšit oddíl/filesystém uvnitř LUKS kontejneru tak, aby bylo následně možné zmenšit LUKS kontejner (nenapsal jste, jak to přesně máte rozložené, takže tady nelze poradit líp)
2) zmenšit LUKS kontejner
3) zmenšit LUKS partition (/dev/sda1)
4) vytvořit EFI partition, klidně na konci disku (/dev/sda2)
5) do EFI partition nainstalovat GRUB
6) v setupu nebo pomocí efibootmgr nastavit pořadí bootování UEFI, aby první byla tahle EFI partition

Je to realizovatelné, ale pokud uděláte chybu v pořadí kroků (např. pokud máte v LUKSu ještě LVM), můžete přijít o data. Varianta "data vykopírovat ven, disk znovu rozdělit, vytvořit nový LUKS kontejner a data nakopírovat zpátky" tak může být jednodušší a bezpečnější.
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: IDontCare 05. 03. 2021, 12:53:06
Je opravdu nutne z toho disku bootovat?
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 05. 03. 2021, 15:26:59
- -: dodej vypis z "lsblkd /dev/sda"
Zalohovat pomoci FileZilla? to urcite neni vhodne pro system, na nej pouzit rsync, neco jako:
Kód: [Vybrat]
sudo mount --bind / /mnt
sudo rsync -av --progress --sparse --links --hard-links /mnt/ sshuser@sshserver:/adresar/kam
resp. vhodnejsi by bylo na cilovej aktivovat rsync demona (a nastavit kam muze) a rsync do cile ne pres ssh, ale pres rsync protokol:
Kód: [Vybrat]
sudo rsync -av --progress --sparse --links --hard-links /mnt/ rsync://rsyncserver:/adresar/kammuze
by_cx: URCITE nedelat dd zalohy oddilu(nebo odemceneho luks konkejneru), protoze kdyz by je pak vracel zpatky, tak by byl dd img VETSI nez novej oddil a tedy by image "vytekl" pres nasledujici oddil, ci "mimo disk" tedy by se neokopiroval, ale luks a/nebo filesystem si  myslel ze je vetsi nez je oddil, atd...

IDontCare: a jak by asi systemovej disk nastartoval? telepatii? nebo zbytecne pridaval USBFlash ci dalsi disk na kterem by mel zavadec co by startoval system z reseneho disku?

Radek Zajic: zmensovat(resp. pouze zkracovat zprava, pokud vim zleva to normalne nejde) LUKS kontejner je trochu opruz, obzvlast jak pises kdyby tam mel mezi ext4 a LUKS jeste LVM, takze pokud by do toho sel tak ROZHODNE nejdriv vyzalohovat   
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: Radek Zajíc 05. 03. 2021, 19:49:02
k3dAR: zrovna nedávno jsem zmenšoval svůj LUKS, ve kterém mám LVM a btrfs, takže mám v paměti, jaká pakárna to je.:-)
Zmenšení zleva se dá udělat tak, že ho zmenším zprava a přesunu celý kontejner doprava, čímž si vytvořím místo vlevo. Je to další krok navíc nad rámec toho, co už jsem napsal v předchozím příspěvku, ale jde to. Pokud jde jen o vytvoření bootovacího oddílu, tak to není s UEFI potřeba.

Jinak rozhodně souhlasím: zálohovat, zálohovat, zálohovat!
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: - - 05. 03. 2021, 20:16:37
Děkuji. Nemám žádné velké novinky zatím, ale přesto:
@k3dAR

Kód: [Vybrat]
$ lsblk /dev/sda
NAME                                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                                             8:0    0 111,8G  0 disk 
└─sda1                                          8:1    0 111,8G  0 part 
  └─luks-... 254:0    0 111,8G  0 crypt /

Na disku není LVM, vše kromě asi zavaděče by mělo být šifrované LUKS, žádný jiný oddíl (ani swap) by tam neměl být.

Překlep, ne FileZilla ale CloneZilla zahlásila oddíl mimo disk (https://i.postimg.cc/SqnVXqC4/IMG-5405.jpg), to samé gparted. RedoBackup (stará verze) to zdá se zazálohovala, i když trochu podezřele.

> sudo mount --bind / /mnt
tomuhle moc nerozumím (včetně toho bind), v chroot bych asi nepoužil / ale /dev/sdX a při bootování z toho disku, který chci zálohovat nevím jaký by byl efekt to mountnout 2x (zapoměl jsem podotknout že nejsem pokročilý uživatel Linux).
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 05. 03. 2021, 21:17:35
z vypisu(+to co si dal pretim) je to jiz jiste:
- mas 1 oddil, na nem LUKS a na nem(=jeho odemcenem kontejneru) 1 oddil pripojen jako koren /

s "mount --bind / /mnt" sem uvazoval ze rsync bys delal na HW kde z toho disku slo bootovat, tedy z nebehleho systemu, duvod proc existujici pripojeni /dev/sda1 do / pripojujes jeste 1x do /mnt, je ten abys odfiltroval dalsi pripojeni (tedy /dev, /dev/pts, /proc, /sys) a rsyncoval tedy cistej obsah z sda1... rsync ma sice parametr --one-file-system (ci to same zkracene: -x ) , takze se zda ze misto bind bys mohl rsyncovat s timto parametrem primo stavajici koren / ALE pak bys mel prazdnej adresar /dev (protoze na nej je pripojen udev/devtmpfs), jenze v sda1 adresari /dev jsou pritom staticke soubory zarizeni pouzite nez se udev nahodi, kdyz rsyncujes bindnutej adresar tak tam prave tento obsah toho /dev mas...

pokud bys delal rsync z LiveUSB, tak samzrejme staci 1x pripojit /dev/sdXY kamkoliv a rsync pak ten adresar, naopak NEdelat chroot (kde bys opet pripojil /dev, /dev/pts, /proc, /sys a opet by byl potreba bind jinam ;-), chroot je potreba POUZE pokud bys chtel treba instalovat zavadec, aktualizovat balicky, aktualizovat initramfs atd...)

jeste takove doporuceni, disk mas 120GB, muzes si usetrit cas a pripadne komplikace, kdyz misto odlejt data jinam, disk format a vrait zpet, proste poridis druhej disk, a z stavajiciho 120GB to na novej pretahnes, s tim ze 120GB proste hodis pak do suplete jako backup :)
250GB za 1044Kc (https://www.czc.cz/wd-ssd-blue-3d-nand-2-5-250gb/220368/produkt)
 ci rovnou 500GB za 1624Kc (https://www.czc.cz/wd-ssd-blue-3d-nand-2-5-500gb/220369/produkt), sice chapu ze ti treba 120GB staci, ale tu u WD Blue uz nevidim, zaroven kdyz 500GB stoji jen o 600Kc vice... ;-)
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: - - 06. 03. 2021, 02:14:24
1) odemknout LUKS kontejner (uvnitř partition /dev/sda1) a zmenšit oddíl/filesystém uvnitř LUKS kontejneru tak, aby bylo následně možné zmenšit LUKS kontejner (nenapsal jste, jak to přesně máte rozložené, takže tady nelze poradit líp)
2) zmenšit LUKS kontejner
3) zmenšit LUKS partition (/dev/sda1)
...
V gparted je právě ta chyba oddíl mimo disk a nemožnost cokoliv dešifrovat, přidat nebo resize. Viz obrázek pod odkazem níže.
Nástroj "Disks" někeré funkce umí, ale neumožňuje resize (volba je neaktivní) nebo přidání oddílu. Ani ten nedokáže dešifrovat LUKS, viz. chyba na obrázku, odkaz níže.

Zkusil jsem dešifrovat manuálně:
$ cryptsetup luksOpen /dev/sda1 abc
Disks ukázal ext4 ale stále nemůžu resize a když jsem zkoušel manuální příkaz resize2fs -p /dev/sda1 tak si to stěžovalo že je využíván a nemůže nic udělat. Možná jsem jen zadal špatnou cestu.
Jelikož jsem lama, tak bych tuhle úlohu nejraději udělal v gparted, ale nemůžu, obrázky:

https://postimg.cc/gallery/mRTVTTG

Pokud vás NEnapadne jak to resize a novou partition vytvořit, tak se budu asi klonit k instalaci od nuly a možná pak zkusit to, co tu psal @k3dAR (skopírování dat ze starého disku na nový):
Citace
sudo mount --bind / /mnt
sudo rsync -av --progress --sparse --links --hard-links /mnt/ sshuser@sshserver:/adresar/kam
Možná, že nový počítač by musel být v režimu live-usb a root filesystem mountnutý, kvůli tomu aby nebyl při nahrazování používán.
Jinak druhá varianta je jen obnovit /home/user a nainstalovat aplikace
STARY: pacman -Qqen > pkglist.txt;pacman -Qqem > pkglist_aur.txt
NOVY: pacman -S --needed - < pkglist.txt; for p in $(cat pkglist_aur.txt);do pamac build $p --no-confirm;done
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 06. 03. 2021, 11:04:27
ok, mas Arch, tak ohledne rsync nejake info z Arch Wiki:

Full System Backup (v ramci jednoho stroje z disku na disk)
https://wiki.archlinux.org/index.php/rsync#Full_system_backup

File System Cloning (v ramci 2 stroju v siti, ze stroje na disk v jine stroji)
https://wiki.archlinux.org/index.php/rsync#File_system_cloning
INFO: misto meho reseni s bind, je zde uvedena moznost exclude vsech "virtualnich" ci "docasnych" adresaru,
porad to ale neresi ze v cili v /dev budes mit prazdno, coz resi prave ten rsync z bindovaneho kde exclude jiz neni treba...

POZOR: pokud cil je ssh server, tak musis pouzit root@server
nebo jak sem psal lepe pouzit cil protokol rsync:
https://wiki.archlinux.org/index.php/rsync#rsync_daemon
nezapomenout vytvorit config kam rsync muze:
https://wiki.archlinux.org/index.php/rsync#Example_configuration


~~~
ohledne zmenseni, nejde o to zda me neco napadne, ale zda neprijdes o data ;-) proto sem jako nejvhodnejsi navrhnul koupit novej disk ;-) protoze Radej Zajic ti psal hrubej postup a to ze nesmis udelat nic ve spatnem poradi a ty prvni co udelas je spatnou vec ve spatnem poradi "resize2fs -p /dev/sda1" = na sda1 NEmas filesystem, ale LUKS ! je potreba pochopit ze filesystem je az na odemcenem kontejneru, v tvem pripade /dev/mapper/abc, ten (filesystem) bys mohl zmensit pres resize2fs, pak je potreba contejner zavrit a provest resize LUKS, pak provest resize oddilu sda1 - to vse delat z USBLive a po (dobre provedene) zaloze a VZDY ten dalsi krok provest radeji zmenseni o neco mene nez predchozi krok, tzn klidne filesystem(pred zmenseni a po zmenseni provest "e2fsck -f /dev/mapper/abc) o 30GB, contejner o 20GB, oddil o 10GB = radeji nez se splest a neco NAD zmensit mene nez to POD ;-) presnejsi info pripadne az po tom co opravdu provedes spravne zalohu ;-)
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 06. 03. 2021, 11:37:45
k tomu rucnimu zmensovani, dobra zprava (resp. pokud bys vyresil problem s tim tvojim divnym oddilem :) GParted 1.2, resp. nahozene gparted-live-1.2.0-1-amd64.iso (https://gparted.org/download.php) sem uspesne na par kliku zmensit LUKS (na pozadi to udelalo to co sem psal, nejdriv filesystem na kontejneru, pak luks, pak oddil)

ale bohuzel mi unika co mas za problem:
gdisk i fdisk ti ukazuje pro oddil 1 start 2048s end 234436544s
pritom gparted rve ze oddil 1 zacina na 3054462464s
a total ze ma disk: 234441648s coz udaje z gdisk a fdisk a oddil 1 NEpretekaj...

napada me ze mas naborenou MBR, nebo ze mas tak i GPT z nejakeho pokusu (i kdyz gdisk GPT nevidi)
zkus jeste hodit komplet vystup z: sudo parted /dev/sda unit s print...
pak bych asi zkusil vymazat mbr i gpt a vytvorit znovu mbr s 1 oddil totoznej start 2048s end 234436544s
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: by_cx 06. 03. 2021, 12:44:09
Citace
URCITE nedelat dd zalohy oddilu(nebo odemceneho luks konkejneru), protoze kdyz by je pak vracel zpatky, tak by byl dd img VETSI nez novej oddil a tedy by image "vytekl" pres nasledujici oddil, ci "mimo disk" tedy by se neokopiroval, ale luks a/nebo filesystem si  myslel ze je vetsi nez je oddil, atd...

Tak měl jsem na mysli dd toho LUKS oddílu. Ale ani v jednom případě se nemůže nic stát a dá se ddčknout jak zamčenej i odemčenej, jen se podle toho musí upravit velikost cílového oddílu.
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 06. 03. 2021, 13:08:14
Citace
URCITE nedelat dd zalohy oddilu(nebo odemceneho luks konkejneru), protoze kdyz by je pak vracel zpatky, tak by byl dd img VETSI nez novej oddil a tedy by image "vytekl" pres nasledujici oddil, ci "mimo disk" tedy by se neokopiroval, ale luks a/nebo filesystem si  myslel ze je vetsi nez je oddil, atd...

Tak měl jsem na mysli dd toho LUKS oddílu. Ale ani v jednom případě se nemůže nic stát a dá se ddčknout jak zamčenej i odemčenej, jen se podle toho musí upravit velikost cílového oddílu.
jasne, ale vychazel sem z toho ze kdyz ddckem udelas image oddilu, pak disk prerozdelis abys meli efi oddil a vracis image zpet, tak logicky ten novej cilovej oddil uz bude mensi o velikost toho efi oddilu, takze tvuj postup ano, ale pokud by to bylo obnovovane na jinej/vetsi disk (s tim ze pak natahnout oddil, natahnout luks, natahnout filesystem - na velikost vetsiho oddilu na vetsim disku)
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: - - 07. 03. 2021, 02:02:40
Četl jsem nějaké návody k té změně velikosti:
https://unix.stackexchange.com/a/41093
https://wiki.archlinux.org/index.php/Resizing_LVM-on-LUKS#Resize_LUKS_volume

až jsem se po zmenšení ext4 v LUKS a zmenšení LUKS dostal na zmenšení samotného oddílu, ale nepokračuju dál, protože se mi to nechce zničit zadáním špatných čísel:
Citace
$ sudo parted /dev/sda
GNU Parted 3.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit                                                             
Unit?  [compact]? s                                                       
(parted) p                                                               
Error: Can't have a partition outside the disk!
Ignore/Cancel? i                                                         
Error: Can't have a partition outside the disk!
Ignore/Cancel? i                                                         
Error: Can't have the end before the start! (start sector=3054462464 length=-2098627181)
Model: ATA Samsung SSD 850 (scsi)                                         
Disk /dev/sda: 234441648s
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted) q

takže jsem zkusil připojit oba disky,
sudo cryptsetup luksOpen /dev/sdc1 abc
druhý už byl připojen podle $lsblk
Zkoušel jsem ten mount s přepínačem --bind, ale byla tam chyba:
sudo mount --bind /dev/mapper/abc /mnt
mount: /mnt: mount(2) system call failed: Not a directory.
bez --bind ale fungovalo:
sudo mount /dev/mapper/abc /mnt
sudo mkdir /mnt2;sudo mount jmeno-desifrovaneho-oddilu-Noveho-Disku-podleLSBLK /mnt2

a pak tedy překopírování dat ze starého disku /mnt na /mnt2:
sudo rsync -qaHAXS /mnt/ /mnt2/

po vložení nového disku  do nového PC to nenachází cryptodisk, protože ten rsync asi přepsal grub apod. Já jsem tedy změnil UUID aby souhlasily s tím co je v boot/grub/grub.cfg:
sudo cryptsetup luksUUID /dev/sda1 --uuid newuuidHERE (a skutečně to změnilo UUID kryptodisku)
sudo tune2fs -U 6a62939e-9d02-4cd1-ad50-297d166daf23 /dev/mapper/luks-0bbfe23e-921f-46df-89a0-e299032688ef
(podle https://scriptthe.net/2016/08/24/changing-uuids-on-luks-encrypted-partitions/ )
bylo potřeba udělat kontrolu fsck přes gparted.

Problém je, že boot z disku nejde, pořád to hledá kryptodisk který není nalezen, asi ten starý. fstab UUID neobsahuje. Končí to v grub příkazové řádce.
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 07. 03. 2021, 03:11:17
ten bind byl opravdu POUZE pokud bys rsyncoval bezici system, resp oddil co mas jiz pripojen v / korenu ;-)
obecne: "mount --bind /dev/COKOLIV /nekam" NE, bind ma zdroj VZDY existujici mountpoint ci existujici adresar ci soubor, muzes treba udelat "cp /proc/cpuinfo /tmp; mount --bind /tmp/cpuinfo /proc/cpuinfo; nano /proc/cpuinfo # a upravit flagy pro cpu [samozrejme jen priklad, resp. pouzitelne to pamatuju jen u PentiumM ktere umelo PAE a od vyrobce mu schazel pro pae flag]

chapu tedy ze mas druhy disk, takze prozatim(?) vynechame reseni puvodniho disku a jeho oddilu...

pokud se snazis nastavit UUID pro luks ci extfs, stejny jako mel zdrojovej disk, tak NEMEJ zapojenej zdrojovej disk,
jadro by se urcite nechovalo korektne pri 2x stejne UUID

novy disk si tedy rozdelil jak?
- rozlozeni GPT
- 1 oddil EFI (a pridan v gparted priznak Boot a ESP)
- 2 oddil pro LUKS, ten si odemknul, zformatoval a rsyncem prehodil vse z odemknuteho puvodniho disku?

a zkousis boot v UEFI rezimu? nebo si novej disk udelal MBR, EFI oddil nedaval a jen si overujes zda dokazes naklonovat disk z puodniho na novej?

v obou pripadech je potreba nainstalovat Grub (v chrootu) coz si asi udelal kdyz ti to startuje, pokud tedy nestartuje Grub z puvodniho stale zapojeneho disku :)

cryptodisk hleda kdo? Grub? initramdisk? a jake luks uuid to hleda? to co bylo puvodni?
"sudo cryptsetup luksUUID /dev/sda1" ti zobrazi UUID to ktere si menil? to co to hleda?
v /etc/crypttab mas jake UUID pro LUKS?
v pripade ze si regeneroval initramdisk, mel si v tu chvili luks kontejner odemcenej pod STEJNYM nazvem jako mas uvedene v /etc/crypttab? (prvni sloupec) a mel si tam spravne UUID=... ? (druhej sloupec)
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: - - 07. 03. 2021, 11:37:31
novy disk si tedy rozdelil jak?
- rozlozeni GPT
- 1 oddil EFI (a pridan v gparted priznak Boot a ESP)
- 2 oddil pro LUKS, ten si odemknul, zformatoval a rsyncem prehodil vse z odemknuteho puvodniho disku?
Děkuju  :D , ano, GPT a EFI s boot a esp flag. LUKS byl vytvořený grafickým instalátorem systému Manjaro, protože jsem to nechtěl komplikovat manuálním vytvářením (nikdy jsem to nedělal). Na disk byl tedy nainstalován výchozí Linux systém s EFI, LUKS a obsah dešifrovaného LUKS oddílu jsem pod live USB systémem přepsal tím rsyncem ze starého disku (rsync -qaHAXS /staryroot /novyroot/).
Ano, nový disk teď zkouším bootovat v UEFI počítači.

nesprávné UUID cryptodisku (začínající písmenem b) hledá zavaděč při bootování.. jediné co se zobrazí je:
(https://i.postimg.cc/hjdwKRgX/IMG-5423.jpg)

i přes to, že jsem v chroot na tom disku nastavil UUIDs která jsou v grub souborech uvedených níže
sudo cryptsetup luksUUID /dev/XY --uuid id1
sudo tune2fs -U id2 /dev/mapper/luks-XY
(zde obrázek (https://i.postimg.cc/Hdc4T3mY/IMG-5427.jpg) kde cryptsetup a gparted dokládá změnu)

a grub soubory mají ID, které zobrazuje gparted/cryptsetup:

etc/default/grub:
https://bin.disroot.org/?36a335aed5f4dc28#F9ZECTmruWeFACbL6HuxMz14W7Rcs5kePgQBAjRVwrYR

boot/grub/grub.cfg boot menu linky obsahující UUID (kryptodisku a nebo v něm obsaženého ext4 oddílu):
https://bin.disroot.org/?4045942c6085ad1f#385HRHYLQdYMwjMr8ryoYLnn7R674X9RG3SP1nHHekBo

boot/grub/grub.cfg kompletní:
https://bin.disroot.org/?aebb087e1f20da57#63nGcegJKyk5wJ5Lo3PYwf2hyfmRCV5iXcGcQj5H5WhD

"sudo cryptsetup luksUUID /dev/sda1" ti zobrazi UUID to ktere si menil? to co to hleda?
ukazuje to, ktere jsem měnil (9...) ne to které je vidět při bootu

update-grub pokus, obrázek (https://i.postimg.cc/BSbPMQQS/IMG-5426.jpg)

v pripade ze si regeneroval initramdisk, mel si v tu chvili luks kontejner odemcenej pod STEJNYM nazvem jako mas uvedene v /etc/crypttab? (prvni sloupec) a mel si tam spravne UUID=... ? (druhej sloupec)
Tohle nevím, nevěděl jsem že jde odemknout pod jiným názvem a tím narušit update-grub apod., je to ale pravděpodobné, že jsem dal název např. abc (cryptsetup luksOpen dev abc), ale v /etc/crypttab je název luks-uuid ...

=> přijde mi že v  chroot jsem správně změnil ID na ta, která jsou v uvedených grub souborech, ale nevím proč tedy zavaděč hledá jiné luks ID... možná by pomohlo dočasně v GRUB cmd spustit pod novým ID a po startu OS aktualizovat grub.

@k3dAR doufám že můj popis nebyl moc zmatečný, děkuji moc za případné rady
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 07. 03. 2021, 12:10:10
pozor na ten rsync, pouzite parametry byli zamyslene pro prenos puvodniho systemu na novej CISTEJ oddil, protoze si tam ale mel novou/cistou instalaci, tak je vhodne pridat parameter --delete aby to v cili smazalo to co neni ve zdroji ;-)

ad /etc/default/grub:

asi to nevadi, ale pro pripadne parsovani lepsi tohle odstranit:
Kód: [Vybrat]
# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y
(nebo odkomentovat a odstranit GRUB_ENABLE_CRYPTODISK=y na konci, proste aby jsi stejnou promenou nemel 2x)

Kód: [Vybrat]
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=UUID=9....:luks-9.... s timhle nevim jiste, ja tohle vubec nedefinuju, urcuje mi to Grub, resp. pouzivam misto Grub sicherboot, kazdopadne v /proc/cmdline mam kolem disku jen "root=/dev/lvm/root resume=/dev/lvm/swap", nicmene predpokladam ze to tam dal Instalator...

ad "update-grub pokus, obrázek"
error s sda je irelevantni, resp. jde o to ze "doplnek" os-prober hleda systemy na jinejch diskach aby je pridal do Grub menu, zakazat to lze pridanim do /etc/default/grub:
Kód: [Vybrat]
GRUB_DISABLE_OS_PROBER=true
a k te zahade, myslim ze to prislo s nejakou novejsi verzi Grubu (nemyslim ze to zaclo delat mnou pouzivane *buntu samo za sebe), zkus se podivat do /boot/efi/EFI/manjaro?/grub.cfg ;-)
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 07. 03. 2021, 12:12:11
pozor na ten rsync, pouzite parametry byli zamyslene pro prenos puvodniho systemu na novej CISTEJ oddil, protoze si tam ale mel novou/cistou instalaci, tak je vhodne pridat parameter --delete aby to v cili smazalo to co neni ve zdroji ;-)
NEzapomen si pred tim zazalohovat soubory ktere si kvuli (napr.) UUID pripadne v cili jiz menil ;-)
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: - - 07. 03. 2021, 14:49:04
zkus se podivat do /boot/efi/EFI/manjaro?/grub.cfg ;-)
v /mnt/boot/efi nic není, na EFI oddílu /mnt2/EFI/Manjaro je pak binární .efi soubor.
Zkusil jsem tedy znovu rsync ze starého oddílu na nový, tentokrát s --delete ale nepomohlo to, zde jak jsem to udělal:


Takže pořád nechápu odkud to bere to UUID, které v grub nevidím. Jestli vás napadají další příkazy co zkusit?, mě tedy napadá

A) znovu potupně reinstalovat systém, nabootovat (snad by měl fungovat) a pak sudo mount --bind / /mnt a zo samé na starém PC a rsyncnout ze starého na nový (rsync -qaHAXS --delete) s tím že z rsyncu vypustím ty adresáře jako je /boot/, ale tady zase nevím které mám dát do exclude. A nebo jestli by stačio rsync pouze neexistující soubory /.
B) Druhá varianta je skutečně čistá instalace a znovu nainstalovat apliakce:
STARY: pacman -Qqen > pkglist.txt;pacman -Qqem > pkglist_aur.txt
NOVY: pacman -S --needed - < pkglist.txt; for p in $(cat pkglist_aur.txt);do pamac build $p --no-confirm;done
a obnovit /home

jak to vidíte? děkuji
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 07. 03. 2021, 15:35:32
pred update-grub v chrootu, mej pripojenej EFI oddil do "chroot"/boot/efi/
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: - - 07. 03. 2021, 17:40:01
pred update-grub v chrootu, mej pripojenej EFI oddil do "chroot"/boot/efi/

Nevím jestli jsem pochopil správně, zkusil jsem tohle:
Citace
sudo cryptsetup luksOpen /dev/nvme0n1p2 c;sudo mount /dev/mapper/c /mnt
mkdir /mnt/boot/efi 2>/dev/null;sudo mount /dev/nvme0n1p1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done;sudo chroot /mnt
update-grub;exit;cd;sudo umount /mnt*;sudo cryptsetup luksClose c
(nvme0n1p1 je první fat32 oddíl pro EFI, a také 2 .efi soubory obsahuje)

Jinak na netu se psalo něco o "update-initramfs -u -k 4.10.0-38-generic" před update-grub, ale "bash: update-initramfs: command not found"
v /boot mám a používám kernel initramfs-5.10-x86_64.img

Pak jsem si uvědomil že starý disk ze kterého jsem kopíroval na tento nový nebyl instalovaný pod UEFI ale legacy a MBRMBR, možná že GRUB soubory neobsahují UEFI instrukce a je potřeba grub-install, v chroot:

# sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
Citace
Installing for x86_64-efi platform.
EFI variables are not supported on this system.
EFI variables are not supported on this system.
grub-install: error: efibootmgr failed to register the boot entry: No such file or directory.

exit
Když jsem to zkoušel mimo chroot (sudo mkdir /boot/efi;sudo mount /dev/nvme0n1p1 /boot/efi)
nvme0n1p1 = 1. boot partition pro efi. Tak si to stěžovalo "failed to get canonical path of `overlay'"

/etc/fstab NEobsahuje boot/EFI:
Citace
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
/dev/mapper/luks-9...-...-...-...-..... /              ext4    defaults,noatime 0 1
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

Už jsem tam zkusil dát linku:
Citace
UUID=uuid_z_lsblk_f /boot/efi Fat32 defaults,noatime 0 2
ale stále to hledá jiné UUID kryptodisku

Napadá vás co zkusit dál? děkuji
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 07. 03. 2021, 18:55:38
pochopil si spravne, jen 3 postrehy:
- mkdir -p /cesta # nerve kdyz dir uz existuje, zaroven umi udelat rovnou vnorenej /cesta/dalsi/neco
- mount -B (aka --bind) si nejsem jistej zda je vhodne pro proc a sys, to vzdy montuju ciste:
sudo mount -t proc proc /cesta/proc
sudo mount -t sysfs sysfs /cesta/sys
- umount /mnt/* ti NEodpoji /mnt/dev/pts ani /mnt/boot/efi

ad update-initramfs
- to je pouzivane v debian/*ubuntu/mint/atd, ale v Arch/Manjaro je to: "mkinitcpio -P # pro regen initramdisku vsem dostupnej jadrum"
https://wiki.archlinux.org/index.php/mkinitcpio#Image_creation_and_activation

jinak urcite to chce initramdisky pregenerovat a spravne ti doslo ze pridat zaznam pro EFI oddil do /etc/fstab (pro boot je to jedno, ale pak pro pripadne aktualizace Grubu by to nejspis cpalo do adresare /boot/efi/EFI nikoliv do mountpointu z EFI oddilu... nicmene aktualni problem to neresi, tobe se to zastavi v pruhebu Grubu, tzn. jeste pred tim nez se ma nacist grub menu, drive nez se z menu pusti polozka co natahne jadro a initramdisk...

ad instalace Grub, po rsync urcite musis nainstalovat Grub
- target pro uefi ocividne mas, ale nemas:
-- nainstalovanej balicek efibootmgr
-- nejspis NEmas nastartovane to LiveUSB v rezimu UEFI (viz: EFI variables are not supported on this system.)
--- pokud mas v UEFI nastartovano muzes zkusit zavest modul pro pristup k efi variables: modprobe efivarfs (mozna si ho natahne efibootmgr kdyz bude nainstalovanej)
https://wiki.archlinux.org/index.php/GRUB_(Česky)#Instalace_nebo_obnova_GRUBu_na_EFI_oddíl_(moderní_UEFI_zařízení)
 (https://wiki.archlinux.org/index.php/GRUB_(Česky)#Instalace_nebo_obnova_GRUBu_na_EFI_oddíl_(moderní_UEFI_zařízení))
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 07. 03. 2021, 18:57:47
ad "ale stále to hledá jiné UUID kryptodisku"
ses si jistej ze startujes disk v UEFI rezimu? a ze disk je GPT? aby jsi na "novem" disku nemel MBR s GrubLegacy co ma zadratovene to stare UUID :)
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: - - 08. 03. 2021, 01:44:20
Díky, tak jsem zkusil následovat Tvoje zmíněné rady a povedlo se dostat k bootování, ALE jen do příkazové řádky:

Ten efibootmgr už nainstalovaný byl
$ efibootmgr -v
Citace
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0005
Boot0001* HDDabc    PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x1)/Sata(3,65535,0)N.....YM....R,Y.....ISPH
Boot0003* Generic USB3.0 Card Reader 000000001536   PciRoot(0x0)/Pci(0x8,0x1)/Pci(0x0,0x3)/USB(5,0)N.....YM....R,Y.....ISPH
Boot0004* SK hynix(systHDD) ...   PciRoot(0x0)/Pci(0x2,0x2)/Pci(0x0,0x0)/NVMe(0x1,AC-E4-2E-00-0A-8B-BA-ED)N.....YM....R,Y.....ISPH
Boot0005* SK hynix(systHDD) ...   PciRoot(0x0)/Pci(0x2,0x2)/Pci(0x0,0x0)/NVMe(0x1,AC-E4-2E-00-0A-8B-BA-ED)N.....YM....R,Y.....ISPH

sudo modprobe efivarfs
lsmod|grep -i efi
(nic)

$ ls /sys/firmware/efi
Citace
config_table  efivars  esrt  fw_platform_size  fw_vendor  runtime  runtime-map  systab

efibootmgr ale na rozdíl od normálního shellu nefungoval v chrootu a negunguje v něm ani modprobe efivarfs:

Citace
[manjaro /] # sudo modprobe efivarfs
modprobe: FATAL: Module efivarfs not found in directory /lib/modules/5.9.16-1-MANJARO
[manjaro /]# find /lib/modules -iname *"efivar"*
/lib/modules/5.4.100-1-MANJARO/build/include/config/efivar
/lib/modules/5.4.100-1-MANJARO/build/fs/efivarfs
/lib/modules/5.10.18-1-MANJARO/build/include/config/efivar
/lib/modules/5.10.18-1-MANJARO/build/fs/efivarfs

mimo chroot je to bez chyb. Takže tady si nejsem jistý jestli není problém, protože později to při bootu hlásilo EFI problémy.

Pak jsem našel příkaz (spuštění v normální shell), po kterém začal v chroot fungovat efibootmgr:
sudo mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars

nepamatuju si jestli modprobe efivars začal fungovat v chrootu, pochybuju.

a přestal si i stěžovat grub-install:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
Citace
Installing for x86_64-efi platform.
Installation finished. No error reported.

Pak jsem zkusil
[manjaro /]# ls /etc/mkinitcpio.d
linux510.preset  linux54.preset  linux58.preset.pacsave
[manjaro /]# mkinitcpio -p linux510
výstup bez chyb (https://bin.disroot.org/?45e80946eb281eae#HqEkZvAtZUzaZLDdXeE36uYZ2efunic3gXYjkgTcdyjM)

pak:
# sudo update-grub
Citace
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.10-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-5.10-x86_64.img
Found initrd fallback image: /boot/initramfs-5.10-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.4-x86_64
Found initrd image: /boot/intel-ucode.img /boot/amd-ucode.img /boot/initramfs-5.4-x86_64.img
Found initrd fallback image: /boot/initramfs-5.4-x86_64-fallback.img
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

Nepamatuju si že by předešlé updaty obsahovaly řádku "Adding boot menu entry for UEFI Firmware Settings ..."

někdo pak ještě spouštěl "grub-mkconfig -o /boot/grub/grub.cfg" ale nevím jestli je to vhodné, tak jsem nespustil..

exit

"efibootmgr -v" začal zobrazovat novou linku:
Boot0000* manjaro   HD(1,GPT,d..-..-..-..-...,0x1000,0x96000)/File(\EFI\manjaro\grubx64.efi)

Po restartu vidím v UEFI boot entry Manjaro, potvrdím, zadám LUKS heslo, pak si to stěžuje že nemá klíč a chce to heslo znovu a nakonec to skončí na příkazové řádce údržbového módu ze kterého se nemůžu dostat do normálního:

Zde jsem to vyfotil:
https://postimg.cc/gallery/QxqzDDF

Máte nějaké nápady co zkusit, nebo jsem to už příliš rozhasil? @k3dAR děkuji
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: - - 08. 03. 2021, 02:48:36
Tak ten emergency mód/příkazová řádka byla tou /etc/fstab linkou
UUID=uuid_z_lsblk_f /boot/efi Fat32 defaults,noatime 0 2
po přidání # na začátek už boot funguje do grafického rozhraní, jen se 2x ptá na LUKS heslo...
a přestal mi fungovat internet na obou počítačích, asi něco s hostname nebo konfigurací sítě, že je identická...
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 08. 03. 2021, 13:23:40
Tak ten emergency mód/příkazová řádka byla tou /etc/fstab linkou
UUID=uuid_z_lsblk_f /boot/efi Fat32 defaults,noatime 0 2
po přidání # na začátek už boot funguje do grafického rozhraní, jen se 2x ptá na LUKS heslo...
a přestal mi fungovat internet na obou počítačích, asi něco s hostname nebo konfigurací sítě, že je identická...
misto Fat32 musis pouzit vfat, nicmene kdyz sem chtel kouknout jake ArchLinux doporucuje parametry k EFI v fstab, zarazilo me ze jiz nepouziva /boot/efi, ale /efi (je treba vytvorit dir, vhodne asi pri pouziti Grub) nebo /boot (pri pouziti napr. systemd-boot, kam spada i mnou pouzivanej sicherboot):
https://wiki.archlinux.org/index.php/EFI_system_partition#Mount_the_partition

ad 2x dotaz na LUKS heslo, to si pretim nemel? to je normalni stav, resi se to tim ze vytvoris keyfile(prava 000), priradis ho jako dalsi klic pro luks oddil, a do crypptab das cestu ke klici (treti sloupec) a mozna do ctvrteho luks => luks,keyscript=/bin/cat (nevim jak to ma Arch ani jestli to jeste vyzaduje "me" *buntu)), ani nevim zda Arch ma pak pomocne skripty co to pri sestaveni initramdisku poresej (to *buntu uz od tusim 18.04 ma)

EDIT: info na ArchWiki: https://wiki.archlinux.org/index.php/dm-crypt/Device_encryption#With_a_keyfile_embedded_in_the_initramfs
Název: Re:LUKS šifrovaný disk + MBR. Jak vytvořit EFI boot?
Přispěvatel: k3dAR 08. 03. 2021, 13:25:10
ad sit: zda je to duplicitou, poznas kdyz puvodni stroj vypnes ;-)