User Tools

Site Tools





linux boot process tricks

howto clone harddisc and boot new system

To transfer all system files, it's best to get a live USB-stick or CD and boot into it
(all live-distros from ubuntu to systemrescuecd are ok).
In a livesystem, you can mount the partitions and transfer the data anyway you like (as root user):

1. rsync needs params and data must be excluded, (but works f&f in a running system), eg., :

rsync -a -v -z -h --perms -E -o -g  --times --compress --update --delete \
      --exclude="/proc/*" --exclude="/sys/*" --exclude="/mnt/*" --exclude="/media/*" / /mnt/newsys/

→ may cause strange bugs, like permissions in /var/run/, maybe /dev probs

2. simple copy with “cp” (untested):

cp -afv /from/sourcesystem/* /mnt/newsys/
[ or ]
cp -ax /from/sourcesystem/* /mnt/newsys/

3. dd - clones each sector - can only be used, if both partitions have exactly the same size!

4. parted - no ext4, only from livesystems


Fix partition-identifier UUIDs in fstab of the new system.
The UUIDs need to be replaced by the new UUIDs in /mnt/newsys/etc/fstab This shows 'em all: :)

ls -l /dev/disk/by-uuid/ 

Install grub2 bootloader to the new disc -
unfortunately a complete change-root environment is required to fool grub-install:

mount dev, proc, sys via “bind”-option into the new root / chroot:

mount -o bind /dev /mnt/newsys/dev
mount -t proc none  /mnt/newsys/proc
mount -t sysfs none /mnt/newsys/sys

Enter the new (virtual) root system:

chroot /mnt/newsys/

Now inside this future system, grub2 installer scripts will work -
generate a new (/mnt/newsys) /boot/grub/grub.cfg:


In case of error “no such disc” run


Install to the MBR (no partition number) of the new disc, finally:

grub-install /dev/sdX

reboot & good luck!

initramfs the step after the bootloader needs all (fs, rais,..) modules to mount root, check: /etc/initramfs-tools/modules

update existing initramfs:

update-initramfs -u -k all 

RAID if you changed your raid setup, you need to update initramfs:

dpkg-reconfigure mdadm 

make sure these modules are in /etc/initramfs-tools/modules



howto boot from grub2 rescue console

If you drop to the grub rescue after cloning a system disc or something, it's possible to boot an existing system.

Enter this, to start a system on sda3 for example: sda = hd0 + partition 3 = (hd0,3)

set prefix=(hd0,3)/boot/grub
insmod (hd0,3)/boot/grub/linux.mod

if this works, the console gets upgraded to standard grub console.

if it doesn't work, try another partition. grub counts partitions from 1 (not 0), btw.

This boots arch linux:

set root=(hd0,3)
linux /boot/vmlinuz26 root=/dev/sda5
initrd /boot/kernel26.img

This is required to boot debian - unfortunately the filenames contain versionnumbers :(

set root=(hd0,3)
linux /boot/vmlinuz-3.1.0-1-amd64 root=/dev/sda3
initrd /boot/initrd.img-3.1.0-1-amd64

This should boot your system. Just re-install grub:

grub-install /dev/sdX


Inside a chroot, grub complains

# update-grub                                                                                                                                                                                                                   
Generating grub configuration file ...
WARNING: Device /dev/ram0 not initialized in udev database even after waiting 10000000 microseconds.


Outside chroot /debian/:

mkdir /debian/run/udev
mount --bind /run/udev /debian/run/udev
mount --bind /run/udev /mnt/run/udev

Crypto Bugs

Grub complains root device couldn't be found

Fix: - set

apt install cryptsetup-initramfs lvm2

- if it is a brtfs, set in /etc/initramfs/modules


Commands to execute in chroot to reinstall grub:

update-initramfs -c -k all
grub-install /dev/sdX

If update-grub echos: “cannot find device for / in fstab” and you have a btrfs rootsys:

mount -o "subvol=@" /dev/mapper/vgubuntu-root 

is required to mount the @ subvol!

linux/filesystems/boot.txt · Last modified: 2022/11/06 21:39 by tkilla