You can use multiboot usb to set up multiple distro live images on one usb drive: https://aur.archlinux.org/packages/multibootusb/ I've used it, it works well. Looks like there's a build issue at the moment, but in general it works :p On Tue., 5 Nov. 2019, 22:50 Hongyi Zhao via arch-general, < arch-general@archlinux.org> wrote:
brent s. <bts@square-r00t.net> 于2019年11月6日周三 上午10:42写道:
On 11/5/19 9:11 PM, Hongyi Zhao via arch-general wrote:
$ sudo ddrescue -f archlinux-2019.11.01-x86_64.iso /dev/sdc2 The ISO contains multiple partitions, so probably not.
Why when using the whole usb disk, the problem will disappear?
As both Eli and I have both explained, because if you use the whole disk you're writing a partition table as *the partition table for the device*. If you try to write to a partition, you end up with nested partition tables. The .iso file is a *disk image*, not a *partition
image*.
Why are you trying to do this, precisely?
I want to use a usb disk for installation of multiple distros, say, Debian, Ubuntu, Arch, and so on. In this case, I must not using the whole usb disk for only one iso, and on the other hand, using whole usb disk for only one iso, is wasting of the usb's space, considering that we cannot use it for doing other things. Furthermore, I noticed that the dd-based method is more robust than using the iso directly with grub's loopback module.
In what way? I do not agree with this. It's far easier to update the ISO, it's far easier to add new distributions to the bootloader (and both updating and adding new entries can even be done by regular users without granting disk reformatting permissions), etc. with grub loopback.
To say the least, for the Debian iso, the dd-based method can do the trick while the loopback method will fail to detect the cd-rom during the installation progress.
Are you using the appropriate kernel cmdline args in the menu entry? They're different from Arch's grub loopback menu entry.
This is just what I stucked on. I failed to figure out the correct cmdline args used for linux and initrd.
Useless. This is for Debian *live* instead of Debian *install* iso, the image I use for install Debian is:
http://mirrors.ustc.edu.cn/debian-cd/10.1.0/amd64/iso-dvd/debian-10.1.0-amd6...
Alternatively, you can use grub to boot an ISO *file* as a loopback device. Some people do this to create multiboot USBs.
As I said above, this method is not so robust as the dd-based method. In detail, the most robust method for using the usb disk to installation a unix/linux OS, should be the dd-based method which using the whole usb disk. But this method has the shortcoming that it will occupy the whole usb disk with only a small iso image and prohibit us for using the usb disk to do other things at the same time.
This seems highly subjective. What makes using DD superior to a loopback? It occupies the same exact disk space as if you dd'd to a partition except requires no modifications to the host disk.
Now, if you *really* want to save space, you'd extract the squashed filesystems/initrds/kernels from each ISO you want to add and create grub entries that boot those directly, but that only affords you a couple extra megabytes per distribution. However, *that is not what grub loopback is*. Grub boots an iso file *directly*, with no modifications required. I guarantee it's far more maintainable and robust than any use of dd.
-- brent saner https://square-r00t.net/ GPG info: https://square-r00t.net/gpg-info
-- Hongsheng Zhao <hongyi.zhao@gmail.com> Institute of Semiconductors, Chinese Academy of Sciences GnuPG DSA: 0xD108493