Pertama-tama saya membuat perangkat loopback ( /dev/loop0
) yang dibuat dari gambar disk mentah kosong 25GB dan mempartisinya menjadi partisi 20GB untuk sistem file dan sisanya untuk swap.
Ingatlah untuk menggunakan kpartx
perangkat loopback untuk 'menemukan' partisi baru:
# kpartx -a /dev/loop0
# ls /dev/mapper/
control loop0p1 loop0p2
Saya tidak yakin sistem file mana yang digunakan, jadi saya secara konservatif memilih untuk membuat ext2
sistem file pada partisi pertama:
# mkfs.ext2 /dev/mapper/loop0p1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1313760 inodes, 5245214 blocks
262260 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
161 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Buat titik pemasangan dan pasang partisi perangkat loopback:
# mkdir /mnt/disk
# mount /dev/mapper/loop0p1 /mnt/disk
Ubah ke direktori pemasangan dan hapus arsip:
# cd /mnt/disk
# tar xzvf /path/to/disk_archive.tar.gz
Gunakan chroot
untuk memasang image disk baru sebagai sistem file root:
# mount -t proc none /mnt/disk/proc
# mount -o bind /dev /mnt/disk/dev
# chroot /mnt/disk /bin/bash
Buat perubahan yang diperlukan pada sistem file (seperti menginstal paket grub!)
Keluar dari chroot dan unmount dan buka semua:
# umount /mnt/disk/dev
# umount /mnt/disk/proc
# umount /mnt/disk
# kpartx -d /dev/loop0
# losetup -d /dev/loop0
Akhirnya saya membuat VM dengan ini sebagai hard drive-nya. Saya menggunakan Super Grub2 Disk untuk menyelesaikan masalah lebih lanjut dengan bootloader.