Scroll to navigation

BOOTCD2DISK(1) bootcd utils BOOTCD2DISK(1)


bootcd2disk - copy a system running from bootcd to a disk


bootcd2disk [-i|-s|-m] [-d debug_runtime_config] -- [-h|--help]
[-c|--conf CONF] [-y|--yes] [-url url] [--only_mount] [--only_unmount] [--only_copydata] [--only_sync] [-p|--only_print_options]] [-o|--use_originaldiskname] [-z|--zerodsk] [--variable_from_bootcd2disk.conf(5) value] [--function_from_bootcd2disk.conf(5) definition]


bootcd2disk is used to write a running system to disk. It was originally used do write a running bootcd built with bootcdwrite to disk, but it is also possible to backup a system directly to an attached disk.

The system can be copied to one or more disk partitions seen by the running system. When running from bootcd, it is possible to let bootcd2disk automatically find a disk, make partitions on it, copy the cd to the disk and make the disk bootable.


-i|-s|-m|-d debug_runtime_config
Run bootcdwrite in interactive, silent, minimal control or debug mode. See shellia(1) for this standard shellia options.

-c|--conf CONF

use the bootcdwrite config options from file CONF. Default:



print help and exit


if bootcd2disk.conf was created by bootcdmk2diskconf, not only the variable DISK0 is defined as auto but also ORIG_DISK0 is defined with the original device. To use it this option exists.


answer always yes

-url url

If bootcd2disk is slow on your system (because of a slow CD/DVD drive or the HP ILO virtual CD interface), you can use an image server to get the bootcd iso image from. The swap partition of the installed system will be used as temporary space for the iso image.

The image server url is configured with this option. Example:

Another way the increase the performance is the use of the mounted CD/DVD itself for the copy. Example:

bootcd2disk -url file:///dev/sdc0

The swap partition of the upcoming system must have enough space to get the whole image!


After bootcd2disk did partition, format and install the disk, the disks can be mounted again with this option. For example to run update-grub in chroot on the mounted disk:
# remount disks to /mnt/bootcd.disc/ bootcd2disk --only_mount

# prepare chroot mount --bind /dev /mnt/bootcd.disc/dev mount -t proc none /mnt/bootcd.disc/proc mount -t sysfs none /mnt/bootcd.disc/sys mount -t devpts none /mnt/bootcd.disc/dev/pts

# run update-grub in chroot chroot /mnt/bootcd.disc update-grub


If the disks are mounted with option --only_mount , they can be unmounted with this option.


This will not create partitions, but only copy data to the directory COPYDEST defined with --COPYDEST COPYDEST. Filesystems have to be mounted before. The Bootloader will not be activated.


Print the options calculated from defaults, config-file and commandline and exit.

Hint: This option may display more information about defined functions in a non-bash environment, if calling bash bootcd2disk -p ....


This option writes zeros to the beginning of a disk before using it.

--variable_from_bootcd2disk.conf(5) value

variables listed in bootcd2disk.conf(5) can be overwritten from command line. For example a variable called VARIABLE will get the value VALUE with the option: --VARIABLE VALUE

--function_from_bootcd2disk.conf(5) definition

functions listed in bootcd2disk.conf(5) can be overwritten from command line. For example a function fun() { echo "hello world"; } could be defined with the option: --fun 'fun() { echo "hello world"; }'


To use this option, bootcd2disk should have been run before, because the target disk should be partitioned and formatted already. With ---only_sync only the steps needed to sync will be done. That means the target disc will be mounted, the files will be synced, the bootloader will be activated and the target disk will be unmounted.


All variables, that can be given as OPTIONS or in the bootcd2disk.conf file, will not be taken form Environment variables.

Only the following variables will be set as Environment variables.


This variable contains the luks passphrase. It is used to initialize luks partitions and to open luks partitions. If this variable is not set in the envrionment it will be asked interactively by bootcd2disk if needed.


bootcd(7), bootcdwrite(1), bootcdflopcp(1), bootcdmk2diskconf(1), bootcdbackup(1), bootcdwrite.conf(5), bootcd2disk.conf(5)


License: GNU General Public License, version 3


Bernd Schumacher <> (2007-2020)
2020-08-07 0.1