zfs uefi trouble

Michel Le Cocq 2020-09-23 16:06:13 +02:00
parent d9c3748097
commit 6352af3f1f
3 changed files with 144 additions and 16 deletions

@ -0,0 +1,122 @@
## Fixing Debian/Ubuntu UEFI boot manager with Debian/Ubuntu Live
source : [Code Bites](https://emmanuel-galindo.github.io/en/2017/04/05/fixing-debian-boot-uefi-grub/)
Steps summary:
- Boot Debian Live
- Verify Debian Live was loaded with UEFI
- Review devices location and current configuration
- Mount broken system (via chroot)
- Reinstall grub-efi
- Verify configuration
- Logout from chroot and reboot
### Verify Debian Live was loaded with UEFI :
~~~
$ dmesg | grep -i efi
~~~
~~~
$ ls -l /sys/firmware/efi | grep vars
~~~
### Mount broken system (via chroot)
Mounting another system via chroot is the usual procedure to recover broken systems. Once the chroot comand is issues, Debian Live will treat the broken systems “/” (root) as its own. Commands run in a chroot environment will affect the broken systems filesystems and not those of the Debian Live.
#### My system is full ZFS
You have to add *-f* to force import because zfs think he should be on an other system.
*-R* is to use an altroot path.
~~~
zpool import -f -R /mnt rpool
~~~
~~~
zpool import bpool
~~~
Here system will tell you he can't mount it because /boot is in use. We don't wanted to mount it here, we will do it inside the chroot.
~~~
zfs mount rpool/ROOT/ubuntu_myid
~~~
I'm in the case where ny zpool is encrypt !
see : [zfs trouble encrypt zpool](zfs-trouble-live-boot-solution)
#### My system is not ZFS
Mount root partition (for example an lvm)
~~~
# mount /dev/volumegroup/logicalvolume /mnt
~~~
Mount boot partition (F.e. in drive sda)
~~~
# mount /dev/sda2 /mnt/boot
~~~
Mount the EFI System Partition (usually in /dev/sda1)
~~~
# mount /dev/sda1 /mnt/boot/efi
~~~
### Prepare chroot env
Mount the critical virtual filesystems with the following single command:
~~~
# for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
~~~
Mount all zfs file system on rpool.
~~~
# zfs mount -a
~~~
Chroot to your normal (and broken) system device
~~~
# chroot /mnt
~~~
Then here mon bpool zfs vol.
~~~
inside chroot # zfs mount -a
~~~
Mount your EFI partition:
~~~
inside chroot # mount -a
~~~
You should see :
* all your rpool zfs vol.
* /boot from your bpool.
* Your efi partition.
### Reinstall grub-efi
~~~
# apt-get install --reinstall grub-efi
~~~
~~~
# grub-install /dev/sda
~~~
~~~
# update-grub
~~~

0
grub-touble.md Normal file

@ -1,16 +1,22 @@
# zfs trouble live boot solution ---
## zpool trouble you can mount it from live systeme format: markdown
toc: no
boot on usb drive which permit zfs then : title: zfs trouble encrypt zpool
...
~~~
zpool import -R /mnt rpool # zfs trouble live boot solution
zfs load-key rpool ## zpool trouble you can mount it from live systeme
zfs mount rpool/USERDATA/nomad_e8bdbt
~~~ boot on usb drive which permit zfs then :
## in case you wanted to change zpool passwd ~~~
zpool import -R /mnt rpool
~~~{.shell} zfs load-key rpool
zfs change-key rpool zfs mount rpool/USERDATA/nomad_e8bdbt
~~~ ~~~
## in case you wanted to change zpool passwd
~~~{.shell}
zfs change-key rpool
~~~