我正在嘗試使用託管我們的共用磁碟機的遠端 Linux 電腦的所有磁碟機建立磁碟映像檔dd
。當我運行時df -h --total
它顯示了幾個分區。我有幾個問題:
- 下面的藍色檔案是附加分割區嗎?
- [文件] -> [文件] 語法是什麼意思?
- 是否可以使用 為所有分割區建立單一磁碟映像
dd
?如果是這樣,怎麼辦?
以下是有關 dm-[] 文件的詳細資訊:
上下文:我正在嘗試將這台 CentOS 電腦轉換為 hyper-v 虛擬機器。我透過將使用該dd
命令建立的 .img 檔案轉換為 .vmdk(使用 VBoxManage.exe),然後轉換為 .vhd(再次使用 VBoxManage.exe),成功轉換了單分割 Linux 電腦。它在 Hyper-V 中啟動沒有問題。任何關於如何將 Linux 機器 P2V 到 Hyper-V 的見解也將不勝感激。
答案1
我目前正在將其用於 3 分區 Linux SD 卡映像。我想你可以把它翻譯成你自己的情況:
export VERSION=3.4.113
export ARMBIAN_BUILD=~/Armbian/build-$VERSION
dd if=/dev/zero of=sd.img bs=1M count=256
# Do the bootloader thing. Put the file from position 8192 bytes into the image
echo Copying bootloader
sudo dd if=ext/u-boot.bin of=sd.img bs=1k seek=8 conv=notrunc
(
echo n
echo p
echo 1
echo
echo +50M
echo n
echo p
echo 2
echo
echo +150M
echo n
echo p
echo
echo
echo
echo t
echo 1
echo b
echo t
echo 3
echo b
echo a
echo 1
echo w
) | fdisk sd.img > /dev/null
sleep 1
export start0=`echo p | sudo fdisk sd.img | grep sd.img1 | awk ' { print $3 } '`
export end0=`echo p | sudo fdisk sd.img | grep sd.img1 | awk ' { print $4 } '`
export start1=`echo p | sudo fdisk sd.img | grep sd.img2 | awk ' { print $2 } '`
export end1=`echo p | sudo fdisk sd.img | grep sd.img2 | awk ' { print $3 } '`
export start2=`echo p | sudo fdisk sd.img | grep sd.img3 | awk ' { print $2 } '`
export end2=`echo p | sudo fdisk sd.img | grep sd.img3 | awk ' { print $3 } '`
mkdir -p mnt
mkdir -p mnt/boot
mkdir -p mnt/rootfs
mkdir -p mnt/media
echo Creating boot partition from $start0 to $end0
export sectors0=`expr $end0 - $start0`
export size0=`expr $sectors0 \* 512`
export offset0=`expr $start0 \* 512`
sudo losetup -d /dev/loop0 > /dev/null 2>&1
sudo losetup /dev/loop0 sd.img -o $offset0 --sizelimit $size0
sudo mkfs.vfat /dev/loop0
sudo mount /dev/loop0 mnt/boot
echo Creating rootfs partition from $start0 to $end0
export sectors1=`expr $end1 - $start1`
export size1=`expr $sectors1 \* 512`
export offset1=`expr $start1 \* 512`
sudo losetup -d /dev/loop1 > /dev/null 2>&1
sudo losetup /dev/loop1 sd.img -o $offset1 --sizelimit $size1
sudo mkfs.ext2 /dev/loop1
sudo mount /dev/loop1 mnt/rootfs
echo Creating media partition from $start0 to $end0
sudo losetup -d /dev/loop2 > /dev/null 2>&1
export sectors2=`expr $end2 - $start2`
export size2=`expr $sectors2 \* 512`
export offset2=`expr $start2 \* 512`
sudo losetup /dev/loop2 sd.img -o $offset2 --sizelimit $size2
sudo mkfs.vfat /dev/loop2
sudo mount /dev/loop2 mnt/media