轉載請注明出處
1. 制作IMAGE磁盤鏡像
懶人專用可以直接看第六節(jié)
-
下載unraid 6.10.2開心版-恩山無線論壇 (right.com.cn),解壓后,按照
config/go文件里面的描述進行修改,修改后的內容如下# 需要硬盤啟動把下面三行注釋去掉,并把更下面行里的export FLASH_GUID行去掉,硬盤分區(qū)卷標命名為UNRAID modprobe dummy_hcd modprobe g_mass_storage file=/boot/config/usb idVendor=0x1d6b idProduct=0x0104 iManufacturer=SanDisk iProduct=Ultra iSerialNumber=A11FAF09DD45C4A8 export FLASH_GUID=1D6B-0104-A11F-AF09DD45C4A8 # FLASH_GUID替換成unraid管理界面里看到的U盤GUID,也可以在啟動進unraid后,通過shell終端修改/boot/config/go文件后重啟生效 # export FLASH_GUID=1D6B-0104-A11F-AF09DD45C4A8 export REG_NAME=muziling LD_PRELOAD=/boot/config/BTRS.key /usr/local/sbin/emhttp & -
將修改后的UNRAID的啟動文件上傳到PVE上,這里是以
/home./work為例,將UNRAID上傳到該目錄下feng@pve:~/work/UNRAID$ ls bzfirmware bzfirmware.sha256 bzImage bzimage.sha256 bzmodules bzmodules.sha256 bzroot bzroot-gui bzroot-gui.sha256 bzroot.sha256 changes.txt config EFI license.txt make_bootable.bat make_bootable_linux make_bootable_mac memtest syslinux -
用
dd制作一個空的img鏡像文件,并且格式為Fat32格式-
制作img鏡像文件
feng@pve:~/work$ dd if=/dev/zero of=UNRAID.img bs=1M count=4096 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.611998 s, 1.8 GB/s- 創(chuàng)建的img的大小可以根據(jù)需要更改,4096即4個G,也可以在創(chuàng)建完成虛擬機后再去更改大小
-
設置分區(qū)表為GPT并分區(qū)
root@pve:~/work# fdisk UNRAID.img Welcome to fdisk (util-linux 2.36.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0xc08265bd. Command (m for help): g Created a new GPT disklabel (GUID: 1AAE89AD-C608-574F-8EE7-4268C3719098). Command (m for help): n Partition number (1-128, default 1): First sector (2048-8388574, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-8388574, default 8388574): Created a new partition 1 of type 'Linux filesystem' and of size 4 GiB. Command (m for help): w The partition table has been altered. Syncing disks. -
使用kpartx掛載虛擬機磁盤分區(qū)
root@pve:~/work# losetup /dev/loop0 UNRAID.img root@pve:~/work# kpartx -av /dev/loop0 add map loop0p1 (253:2): 0 8386527 linear 7:0 2048 -
格式化為Fat32格式
root@pve:~/work# mkfs.vfat -F 32 /dev/mapper/loop0p1 mkfs.fat 4.2 (2021-01-31)
-
-
在
/mnt下新建UNRAID文件夾,并且分區(qū)/dev/mapper/loop0n1,掛載到/mnt/UNRAID目錄下,然后把上傳的UNRAID安裝文件復制到/mnt/UNRAID目錄下-
新建 /mnt/UNRAID 文件夾
feng@pve:~/work$ sudo rm -rf /mnt/UNRAID && sudo mkdir /mnt/UNRAID -
掛載/dev/mapper/loop0n1到/mnt/UNRAID
root@pve:~/work# mount /dev/mapper/loop0p1 /mnt/UNRAID/ -
復制UNRAID的安裝文件到/mnt/UNRAID
root@pve:~/work# cp -rf UNRAID/* /mnt/UNRAID/ -
最后
/mnt/UNRAID的目錄結構如下feng@pve:~/work$ ls /mnt/UNRAID/ bzfirmware bzfirmware.sha256 bzImage bzimage.sha256 bzmodules bzmodules.sha256 bzroot bzroot-gui bzroot-gui.sha256 bzroot.sha256 changes.txt config EFI license.txt make_bootable.bat make_bootable_linux make_bootable_mac memtest syslinux
-
-
卸載設備
root@pve:~/work# umount /mnt/UNRAID/ root@pve:~/work# kpartx -dv /dev/loop0 del devmap : loop0p1 root@pve:~/work# losetup -d /dev/loop0 -
將最后修改好的UNRAID.img文件復制到
/var/lib/vz/images文件夾(不移動也行,為了local中方便看到,還是移動吧)feng@pve:~/work$ sudo cp UNRAID.img /var/lib/vz/template/iso/
2. 創(chuàng)建虛擬機
- General根據(jù)需要選擇即可,點擊NEXT

- 選擇Do not user any media,點擊NEXT

- System中Machine選擇q35,BIOS選擇OVMF(UEFI)

- 磁盤界面全部刪除

- CPU根據(jù)需要設置,Type記得選host即可

- 內存也根據(jù)需要設置

- 網(wǎng)絡Bridge選擇PVE管理對應的口,最后創(chuàng)建
3. 創(chuàng)建虛擬機磁盤
-
方式1:使用importdisk導入
-
將img鏡像導入為虛擬機磁盤
feng@pve:~/work$ sudo qm importdisk 101 /var/lib/vz/template/iso/UNRAID.img local- 其中101 為創(chuàng)建虛擬機的id,根據(jù)需要修改
- local為虛擬機的位置,根據(jù)需要選擇local還是local-lvm,這里因為刪除了ThinPoolLV所以選的local
-
修改虛擬機的lable為
UNRAID(UNRAID要判斷磁盤的標簽)feng@pve:~/work$ sudo dosfslabel /var/lib/vz/images/101/vm-101-disk-0.raw UNRAID feng@pve:~/work$ sudo dosfslabel /var/lib/vz/images/101/vm-101-disk-0.raw UNRAID- /var/lib/vz/images/101/vm-101-disk-0.raw 為剛剛導入虛擬機磁盤的位置,/var/lib/vz/images/為存放虛擬機的文件,101虛擬機的標識號,vm-101-disk-0.raw為importdisk導入的時候硬盤的名字
- 修改完后,使用
dosfslabel可以查看修改的磁盤的label
擴容創(chuàng)建的創(chuàng)建的磁盤
來到虛擬機界面,找到剛剛導入的虛擬機磁盤,點擊編輯,將Bus/Devices修改為Sata,點擊add
-

-
方式2:創(chuàng)建一個虛擬磁盤然后寫入
-
首先判斷是否安裝qemu-nbd,如果沒有安裝,則安裝qemu-utils
-
判斷是否安裝
qemu-nbd --version -
安裝軟件包 qemu-utils
apt-get install qemu-utils -
開啟nbd(不開啟沒有nbd的設備)
modprobe nbd max_part=4
-
-
為虛擬機創(chuàng)建一個磁盤,選中創(chuàng)建的虛擬機,點擊Hardware>add>Hard Disk,如果使用的是SSD,可以勾選SSD emulation
image.png -
掛載創(chuàng)建的磁盤
如果創(chuàng)建虛擬機的時候,虛擬機硬盤選擇放在的了local-lvm,則不需要掛載,他會默認掛載在/dev/mapper下面,可以跳過此步驟,不過后續(xù)命令中注意將寫入的設備從/dev/nbd0換成/dev/mapper下對應的設備
-
查看可用的nbd設備
feng@pve:~/work$ ls /dev/nbd* /dev/nbd0 /dev/nbd1 /dev/nbd10 /dev/nbd11 /dev/nbd12 /dev/nbd13 /dev/nbd14 /dev/nbd15 /dev/nbd2 /dev/nbd3 /dev/nbd4 /dev/nbd5 /dev/nbd6 /dev/nbd7 /dev/nbd8 /dev/nbd9 -
先掛載硬盤到nbd設備上,這里用的是nbd0,可以根據(jù)自己的需要進行更改
feng@pve:~/work$ sudo qemu-nbd -c /dev/nbd0 /var/lib/vz/images/103/vm-103-disk-0.qcow2
-
-
掛載好的虛硬盤有兩種方式將UNRAID安裝文件寫入
-
方式1:使用IMG鏡像寫入
-
使用dd命令將URAID.img寫入到掛載的設備里
root@pve:~# dd if=/var/lib/vz/template/UNRAID.img of=/dev/nbd0 -
查看寫入的后的結果
root@pve:~# mount /dev/nbd0 /mnt/UNRAID/ root@pve:~# ls /mnt/UNRAID/ bzfirmware bzfirmware.sha256 bzImage bzimage.sha256 bzmodules bzmodules.sha256 bzroot bzroot-gui bzroot-gui.sha256 bzroot.sha256 changes.txt config EFI license.txt make_bootable.bat make_bootable_linux make_bootable_mac memtest syslinux
-
-
方式2:格式化后掛載
-
然后格式化設備格式,注意這里仍然只能選擇vfat,否則無法啟動
feng@pve:~/work$ sudo mkfs.vfat -F 32 /dev/nbd0 mkfs.fat 4.2 (2021-01-31) -
掛載格式化后的硬盤
feng@pve:~/work$ sudo mount /dev/nbd0 /mnt/UNRAID/ -
將UNRAID的內容復制進去
feng@pve:~/work$ sudo cp -rf UNRAID/* /mnt/UNRAID/ feng@pve:~/work$ ls /mnt/UNRAID/ bzfirmware bzfirmware.sha256 bzImage bzimage.sha256 bzmodules bzmodules.sha256 bzroot bzroot-gui bzroot-gui.sha256 bzroot.sha256 changes.txt config EFI license.txt make_bootable.bat make_bootable_linux make_bootable_mac memtest syslinux
-
-
-
設置磁盤的label
feng@pve:~/work$ sudo dosfslabel /dev/nbd0 UNRAID feng@pve:~/work$ sudo dosfslabel /dev/nbd0 UNRAID -
卸載設備:
feng@pve:~/work$ sudo umount /mnt/UNRAID feng@pve:~/work$ sudo qemu-nbd -d /dev/nbd0
-
4. 啟動URAID
-
方式1:使用plopkexec啟動
-
到PlopKexec - Download下載plopKexec,然后解壓,找到里面的ISO文件,在PVE點擊local>ISO Images,選擇上傳,如果沒有刪除local-lvm也可以上傳到local-lvm,哪里空間足,上傳到哪
image.png -
找到剛剛創(chuàng)建的虛擬機,注意使用plopKexec啟動的時候,只能使用BIOS模式啟動(不知道plopKexec是否有efi啟動方式-_-),所以需要將BIOS改成SEASBIOS
image.png 點擊Hardware>Add,添加一個CD/DVD磁盤驅動器,找到剛剛上傳的plopKexec文件,點擊確定
-

- 點擊Options>Boot Order修改啟動順序,取消net,然后將plopKexec調到第一個,UNRAID的安裝盤為第二個,取消net啟動

設置完成后點擊啟動,即可
-
方式2:使用UEFI啟動
-
將BIOS設置為OVMF,然后點擊啟動即可
image.png -
啟動界面
image.png 啟動完成
-
5. 參考文檔及資源
-
參考文檔
-
資源
- 懶人專用啟動盤,提取碼:jrkx
6. 懶人專用:使用上面的虛擬磁盤文件直接啟動
-
按照上面的流程,創(chuàng)建一臺不帶硬盤的虛擬機,點擊Hardware->Add->Hard Disk,隨便建立一個硬盤
-
選中硬盤點擊Detech
image.png 將下載的可啟動硬盤文件上傳到PVE,假設地址為
/root/,將其名字修改上面創(chuàng)建的虛擬硬盤的名字,比如這里為vm-104-disk-0,所以最后虛擬硬盤的名字為vm-104-disk-0.qcow2-
將修改號名字的文件替換掉剛剛創(chuàng)建的虛擬機的磁盤文件,比如虛擬機的id為104,則執(zhí)行
root@pve:~# rm -f /var/lib/vz/images/104/* root@pve:~# cp vm-104-disk-0.qcow2 /var/lib/vz/images/104/ -
點擊然后重新雙擊剛剛Detech的虛擬機硬盤,進行配置
image.png 調整虛擬機的Boot Order以及Bios為OVMF即可啟動
-
7. 變更日志
- 2022/6/27 創(chuàng)建
- 2022/6/28 由于不分區(qū)會導致啟動盤的容量太小,所以增加創(chuàng)建img鏡像時同步創(chuàng)建分區(qū),不分區(qū)直接寫入仍然可行






