I'm looking to create a folder of ISO files on the my USB drive & access them via the GRUB menu for installation on various machines. So far, the Desktop editions of Ubuntu have booted successfully but the same cannot be said for Ubuntu 16.04 LTS Server edition.
At best, the USB fails to be read as a "cdrom" which halts the rest of the installation process.
More detail about my USB setup:
It's a standard 32GB Kingston 3.0 USB drive within which I've created 2 partitions:
- EXT4 8GB for
/(root)
— This consists of the minimum storage for a full installation of Ubuntu 16.04 Desktop on the flash drive itself. Just plain useful to have a fully operational OS on a stick. - NTFS 24GB for
/mnt/Data
— Almost all of the Home folders have been re-directed here from the first partition for all my data storage needs, hence the name. As a bonus, the NTFS format allows it to be read/written by Windows machines so it's a still a functional memory device.
Note, the second partition is mounted consistently by editing the fstab mount table & the various Ubuntu ISO files are stored in /mnt/Data/Documents/ISOs/*
.
Editing & updating GRUB:
I'm using danielrichter2007's Grub Customizer to create & update the GRUB easily through the GUI. The code that's current working fine for accessing Ubuntu 16.04 Desktop ISO from the GRUB is as follows:
set root='(hd1,1)'
search --no-floppy --fs-uuid --set=root 40E58BDD500AE65A
loopback loop /Documents/ISOs/ubuntu-16.04-desktop-amd64.iso
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/Documents/ISOs/ubuntu-16.04-desktop-amd64.iso quiet splash locale=en_US bootkbd=us console-setup/layoutcode=us noeject --
initrd (loop)/casper/initrd.lz
My attempt for the Ubuntu 16.04 Server went as follows:
set root='(hd1,1)'
search --no-floppy --fs-uuid --set=root 40E58BDD500AE65A
loopback loop /Documents/ISOs/ubuntu-16.04-server-amd64.iso
linux (loop)/install/vmlinuz boot=install iso-scan/filename=/Documents/ISOs/ubuntu-16.04-server-amd64.iso quiet cdrom-detect/try-usb=true splash locale=en_US bootkbd=us console-setup/layoutcode=us noeject --
initrd (loop)/install/initrd.gz
While the above code can access the ISO file as expected, it runs into an error during [!!] Detect and mount CD-ROM
where:
Your installation CD-ROM couldn't be mounted. This probably means that the CD-ROM was not in the drive. If so you can insert it and try again.
Retry mounting the CD-ROM?
Potential solutions
Move the USB from one port to another — This made no difference whatsoever.
Mount USB to
/cdrom
— Tried allsdb
,sdb1
&sdb2
unsuccessfully formount -t vfat /dev/sdb /cdrom
to receive the same error every time despite it being the right location:mount: mounting /dev/sdb on /cdrom failed: Invalid argument
Add
cdrom-detect/try-usb=true
— Already passed it as part of the parameters without success. Not sure where to go about accessing the F6 menu though.Use
dd
— Absolutely no idea whether this is actually relevant/possible for the use-case I've described.
Any help here would be greatly appreciated. Please feel free to get back to me for more information. Thanks!