Please read and understand each command to minimize the risk for data loss. The risky commands are sgdisk, parted, mkfs.vfat and mkfs.ext4, so just be careful 🙂
lsblk -o +TRAN | grep -i usb
-> sdb 8:16 1 14.9G 0 disk usb
# DANGER ZONE #
sgdisk -Z /dev/sdb
parted -s /dev/sdb mklabel gpt mkpart ESP fat32 0% 1GiB mkpart ubuntu ext4 1GiB 100%
parted -s /dev/sdb set 1 esp on set 1 boot on
fdisk -l /dev/sdb | grep "^/dev"
-> /dev/sdb1 2048 2097151 2095104 1023M EFI System
-> /dev/sdb2 2097152 31348735 29251584 13.9G Linux filesystem
mkdir -p /mnt/usb_esp
mkfs.vfat /dev/sdb1
blkid /dev/sdb1 # the UUID= will be used later in the new grub.cfg
-> /dev/sdb1: UUID="921A-DA9A" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="ESP" PARTUUID="a5b4289c-b237-43df-bb5c-d80698b57f3c"
mount /dev/sdb1 /mnt/usb_esp
mkdir -p /mnt/usb_ubuntu
mkfs.ext4 -F -b 4096 /dev/sdb2
mount /dev/sdb2 /mnt/usb_ubuntu
mkdir -p /mnt/ubuntu_iso_mount
mount -t iso9660 -o ro,loop /home/username/Downloads/ubuntu-22.04.2-desktop-amd64.iso /mnt/ubuntu_iso_mount
cd /mnt/ubuntu_iso_mount
cp -R boot boot.catalog EFI /mnt/usb_esp; sync
mkdir -p /mnt/usb_esp/casper
cp casper/vmlinuz casper/initrd /mnt/usb_esp/casper; sync
cp -R casper .disk dists install md5sum.txt pool preseed /mnt/usb_ubuntu; sync
cd /
ls -al /mnt/usb_esp
total 20
drwxr-xr-x 5 root root 4096 Jan 1 1970 .
drwxr-xr-x 1 root root 154 Apr 1 02:17 ..
drwxr-xr-x 3 root root 4096 Apr 1 02:19 boot
-rwxr-xr-x 1 root root 2048 Apr 1 02:19 boot.catalog
drwxr-xr-x 2 root root 4096 Apr 1 02:21 casper
drwxr-xr-x 3 root root 4096 Apr 1 02:20 EFI
ls -al /mnt/usb_ubuntu
total 80
drwxr-xr-x 9 root root 4096 Apr 1 02:32 .
drwxr-xr-x 1 root root 154 Apr 1 02:17 ..
dr-xr-xr-x 2 root root 4096 Apr 1 02:28 casper
dr-xr-xr-x 2 root root 4096 Apr 1 02:28 .disk
dr-xr-xr-x 3 root root 4096 Apr 1 02:28 dists
dr-xr-xr-x 2 root root 4096 Apr 1 02:28 install
drwx------ 2 root root 16384 Apr 1 02:13 lost+found
-r--r--r-- 1 root root 34927 Apr 1 02:28 md5sum.txt
dr-xr-xr-x 4 root root 4096 Apr 1 02:29 pool
dr-xr-xr-x 2 root root 4096 Apr 1 02:32 preseed
replace the following menuentry in /mnt/usb_esp/boot/grub/grub.cfg:
menuentry "Try or Install Ubuntu" {
set gfxpayload=keep
linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed maybe-ubiquity quiet splash ---
initrd /casper/initrd
}
with:
menuentry "Try or Install Ubuntu" {
insmod part_gpt
insmod fat
search --fs-uuid --set usb_esp --no-floppy 921A-DA9A # from blkid /dev/sdb1
set gfxpayload=keep
linux ($usb_esp)/casper/vmlinuz
initrd ($usb_esp)/casper/initrd
}
umount /mnt/usb_esp /mnt/usb_ubuntu /mnt/ubuntu_iso_mount
restart the computer and boot the usb stick in uefi mode
Leave a comment