PVE下虚拟机安装UNRAID
原文:PVE下安装UNRAID - 简书 (jianshu.com)
1. 制作IMAGE磁盘镜像
懒人专用可以直接看第六节
下载unraid 6.10.2开心版-恩山无线论坛 (right.com.cn),解压后,按照
config/go
文件里面的描述进行修改,修改后的内容如下# 需要硬盘启动把下面三行注释去掉,并把更下面行里的export FLASH_GUID行去掉,硬盘分区卷标命名为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
- 创建的img的大小可以根据需要更改,4096即4个G,也可以在创建完成虚拟机后再去更改大小
设置分区表为GPT并分区
root@pve:~/work# fdisk UNRAID.imgWelcome 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挂载虚拟机磁盘分区
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文件夹,并且分区/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. 创建虚拟机
- General根据需要选择即可,点击NEXT
- 选择Do not user any media,点击NEXT
- System中Machine选择q35,BIOS选择OVMF(UEFI)
- 磁盘界面全部删除
- CPU根据需要设置,Type记得选host即可
- 内存也根据需要设置
- 网络Bridge选择PVE管理对应的口,最后创建
3. 创建虚拟机磁盘
方式1:使用importdisk导入
将img镜像导入为虚拟机磁盘
feng@pve:~/work$ sudo qm importdisk 101 /var/lib/vz/template/iso/UNRAID.img local
- 其中101 为创建虚拟机的id,根据需要修改
- local为虚拟机的位置,根据需要选择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
扩容创建的创建的磁盘
来到虚拟机界面,找到刚刚导入的虚拟机磁盘,点击编辑,将Bus/Devices修改为Sata,点击add
方式2:创建一个虚拟磁盘然后写入
首先判断是否安装qemu-nbd,如果没有安装,则安装qemu-utils
判断是否安装
qemu-nbd --version
安装软件包 qemu-utils
apt-get install qemu-utils
开启nbd(不开启没有nbd的设备)
modprobe nbd max_part=4
为虚拟机创建一个磁盘,选中创建的虚拟机,点击Hardware>add>Hard Disk,如果使用的是SSD,可以勾选SSD emulation
挂载创建的磁盘
如果创建虚拟机的时候,虚拟机硬盘选择放在的了local-lvm,则不需要挂载,他会默认挂载在/dev/mapper下面,可以跳过此步骤,不过后续命令中注意将写入的设备从/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,可以根据自己的需要进行更改
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,哪里空间足,上传到哪
找到刚刚创建的虚拟机,注意使用plopKexec启动的时候,只能使用BIOS模式启动(不知道plopKexec是否有efi启动方式-_-),所以需要将BIOS改成SEASBIOS
点击Hardware>Add,添加一个CD/DVD磁盘驱动器,找到刚刚上传的plopKexec文件,点击确定
- 点击Options>Boot Order修改启动顺序,取消net,然后将plopKexec调到第一个,UNRAID的安装盘为第二个,取消net启动
设置完成后点击启动,即可
方式2:使用UEFI启动
将BIOS设置为OVMF,然后点击启动即可
启动界面
启动完成
5. 参考文档及资源
参考文档
unraid 6.10.2开心版-恩山无线论坛 (right.com.cn)
[GUIDE] Installing UnRaid (ver. 6.83) on ProxMox (ver. 6.2-4) - Virtualizing Unraid - Unraid
在Linux下查看、修改Windows分区的卷标 - 字节之上
PVE系统挂载VM镜像硬盘之qcow2格式 — 自在工坊 (kovlala.fun)
资源
- 懒人专用启动盘,提取码:jrkx
6. 懒人专用:使用上面的虚拟磁盘文件直接启动
按照上面的流程,创建一台不带硬盘的虚拟机,点击Hardware->Add->Hard Disk,随便建立一个硬盘
选中硬盘点击Detech
将下载的可启动硬盘文件上传到PVE,假设地址为
/root/
,将其名字修改上面创建的虚拟硬盘的名字,比如这里为vm-104-disk-0
,所以最后虚拟硬盘的名字为vm-104-disk-0.qcow2
将修改号名字的文件替换掉刚刚创建的虚拟机的磁盘文件,比如虚拟机的id为104,则执行
root@pve:~# rm -f /var/lib/vz/images/104/* root@pve:~# cp vm-104-disk-0.qcow2 /var/lib/vz/images/104/
点击然后重新双击刚刚Detech的虚拟机硬盘,进行配置
调整虚拟机的Boot Order以及Bios为OVMF即可启动
7. 变更日志
- 2022/6/27 创建
- 2022/6/28 由于不分区会导致启动盘的容量太小,所以增加创建img镜像时同步创建分区,不分区直接写入仍然可行
日记本
PVE下虚拟机安装UNRAID相关推荐
- Win7下虚拟机安装Mac OS X
Win7下虚拟机安装Mac OS X 由于工作需要,今天我在Win7上利用虚拟机安装了MAC OS X,下面是安装过程,一共截了34张图片: 1. 安装虚拟机VMWare 7(具体过程略过): 2. ...
- Windows下虚拟机安装Mac OS X ----- VM12安装Mac OS X 10.11
Windows下虚拟机安装Mac OS X -– VM12安装Mac OS X 10.11 随着Iphone在国内大行其道,越来越多的开发者涌入IOS开发大军 中,但都苦于没有苹果机,本文即将介绍WI ...
- Windows 7下虚拟机安装MAC
具体参考了两篇文章: 1.虚拟机安装Mac查看电脑是否支持VT技术 2.教你在VMWare下安装MAC OS X Snow Leopard 10.6
- 64位WIN7下虚拟机安装winxp
出于项目需要,最近需要使用到TI公司的XDS510-USB2.0仿真器,但是经过一下午的资料调查发现现有电脑64位WIN7以及win10无法识别该仿真器,因为不兼容,也没有相应的驱动可以安装:于是打算 ...
- Linux环境下虚拟机安装Sentinel最新教程(2种方式)
方法一:有现成jar包 注意:开始之前一定要装好Jdk1.8或更高版本,可参考其它帖子! 1.打开虚拟机,Mobaxterm工具连接虚拟机,创建多级目录,用于存放下载好的sentinel安装包 mkd ...
- win10下虚拟机安装XP系统 后无网卡的解决
Windows 8提供了免费的虚拟机 Hyper-V, 但是在配置 Hyper-V虚拟机的时候经常遇到虚拟机无法上网,本文介绍的是: 原料 Windows 10 Hyper-V Windows XP ...
- PVE 下解决 iKuai 断流、重启问题
本文地址:blog.lucien.ink/archives/536 0. 前言 懒得看过程可直接移步第 2 部分 之前入手了 N5105 + i225-V,收到后装了 PVE 7.2 作为底层系统,虚 ...
- 虚拟机安装教程win7_虚拟机安装系统教程
最近小白系统收到很多小伙伴的私信想要知道虚拟机如何安装系统,那么今天小白系统整理了下虚拟机安装系统的教程,下面一起看下吧. 虚拟机安装系统适合什么人群呢? 1.如果你新买的电脑不支持安装Win7系统, ...
- 手把手教你在windows虚拟机安装带网络的Linux系统
手把手教你在windows上虚拟机安装带网络Linux系统 目录 1.Linux的几个发行版本 2. 虚拟机 2.1 虚拟机是什么 2.2 弹性计算 2.3VMware12 2.3.1 安装VMwar ...
最新文章
- C语言科学计算器思路,大神教你如何用C语言实现科学计算器
- 【408预推免复习】计算机组成原理之计算机的发展及应用
- 如何更好的格式化Objective-C代码
- [云炬创业管理笔记]第三章测试2
- C/C++ 中指针和引用的区别
- 团队管理(3)---如何成为一名优秀的管理者
- Singleton 与 MonoState 模式
- linux进程管理简析
- 解决CentOS6.4 Docker “Couldn‘t connect to Docker daemon ...“ 问题
- file watchers怎么默认打开_python默认字典defaultdict进阶
- 华为NP课程笔记11-STP+RSTP
- jmeter压测学习15-setUp线程组实现用户先登录
- Oracle 购买价格 和 服务费 计算方式
- BUUCTF-CRYPTO-强网杯2019 Copperstudy
- 防火门可以根据EN 1634-1 标准测试吗?
- java 汉字转拼音_java中将汉字转换成拼音的实现代码
- 计算机动漫与游戏制作初体验,《无尽远征》隐藏动画大师 启动“游漫双系统”之约...
- 【自动控制原理】 根轨迹法之根轨迹法分析系统性能
- 命令提示符(cnd)
- 小敏利用计算机设计了一个计算程序,七年级上期中练习卷2013-2014第一学期定稿(10页)-原创力文档...