Drive-Trust-Alliance / sedutil

DTA sedutil Self encrypting drive software
603 stars 232 forks source link

Solution for Acer and ASUS... boot disappeared... Dual boot problem #430

Open s3rgeym opened 1 year ago

s3rgeym commented 1 year ago

Move ESP to another Drive. Edit fstab. Add Boot entry.

Layout:

/dev/nvme0n1 The ssd that came with the laptop. Smthn like WD Shit without hardware encryption. ESP + Windows installation or LUKS Storage
/dev/nvme1n1 External OPAL Drive. Linux Installation

Install sedutil-cli:

yay -S sedutil-cli

Hook that will only ask for a password if the drive is locked:

/usr/lib/initcpio/hooks/unlock-opal-drive-hook

#!/usr/bin/ash

check_opal_locked() {
  sedutil-cli --query "$1" | grep 'Locked = Y' > /dev/null
}

unlock_opal_drive() {
  sedutil-cli --setLockingRange 0 rw "$2" "$1" \
    && sedutil-cli --setMBRDone on "$2" "$1" \
    && partprobe "$1"
}

run_hook() {
  while check_opal_locked /dev/nvme1n1 
  do
    printf "Enter Passphrase to Unlock Drive: "
    read -s p
    echo
    unlock_opal_drive /dev/nvme1n1 "$p"
  done
}

Install hook script:

/usr/lib/initcpio/install/unlock-opal-drive-hook

#!/bin/bash

build() {
  add_runscript
}

Add sedutil-cli to binaries and add unlock-opal-drive-hook to hooks:

/etc/mkinitcpio.conf

# ...
BINARIES=(/usr/bin/btrfs /usr/bin/sedutil-cli)
# ...
HOOKS=(base udev autodetect modconf block unlock-opal-drive-hook filesystems keyboard fsck)

Build initramfs image:

sudo mkinincpio -P

Enjoy...