Proxmox
安装自己
安装Ubuntu
安装openwrt
安装黑群晖
可以参考
https://www.ainas.cc:88/?p=386
http://www.gurenkai.com/archives/install-pve-dsm
https://wp.gxnas.com/11213.html
- 首先要下个引导,我用的arpl的引导https://github.com/fbelavenuto/arpl/releases
- 然后直接创建虚拟机,操作系统选不使用任何介质,系统啥的一路默认就好
- 磁盘随便给,到时候会删掉
- cpu看着给,类别要选
host不然会开不了 - 网络模型要选
intel e100 - 然后先别开,删掉CD驱动器和硬盘
- 去pve的local上存储桶上传img镜像,文件地址在
/var/lib/vz/template/iso - 然后去pve的shell创建虚拟磁盘,输入命令
qm importdisk 101 /var/lib/vz/template/iso/arpl.img local-lvm,这里101是虚拟机id,后面的是img路径,最后是要放的存储桶 - 然后进入虚拟机的硬件管理,把刚才的磁盘添加以下,点击编辑然后选择
sata和0,磁盘映像选刚才传上去的,再添加一个硬盘,还是sata大小16以上吧 - 然后在虚拟机的选项的引导顺序里设置刚才那个sata0优先,其他的关了
- 再把硬盘直通了,首先
ls -l /dev/disk/by-id/列出来硬盘id,然后选你要的,要选磁盘不是分区,选/sda /sdb啥的就行

- 然后直接
qm set 101 -sata2 /dev/disk/by-id/硬盘识别符就行了,硬盘识别符就是usb-KIOXIA_TransMemory_C03FD5F76E57E73103241318-0:0这种,注意sata的名字不要重了 - 打开虚拟机就好了,打开来之后叫你去
7681端口,访问后有一个选择页面,一个一个来,第一个Choose a model是需要的型号,我的u比较老就选了个920,Choose a Build Number就是版本号,Choose a serial number就是序列号 用第一个随机就好,然后Build the loade编译,Boot the loader启动 - 启动完可以访问这个找到群晖http://find.synology.com/,或者直接去
5000端口,一路配置下去就可以了
注意:
- 可能需要下DSM的包,下载安装就好了,注意版本号可能影响能不能安装旧版DSM,新版本不能安旧版DSM
- 如果启动不了可能是引导顺序那里没有搞好,记得把新硬盘就是那个sata1给放进去
安装新硬盘之后出现的问题
在添加了一块新硬盘之后出现可以开机可以ping通但是不能进web管理界面不能进入,ssh也不行。nmap发现根本没开22端口
连接显示器之后启动发现
看来是没有挂载到sdb硬盘,ls /dev/disk/by-id之后如下
我这里原来是有两块盘的,sda是系统盘是一块msata盘,sdb是一块u盘,然后现在加了一块sata固态,上面的图里u盘被我拆下来了,但是这里是sda被挤过去sdb了,可能他是先认sata的吧,所以一开始是以为是系统引导的问题,这个我们等会再说。最后发现其实是之前的u盘挂载了但是现在他的位置被占了,fstab挂载的时候出错了,就直接跳出去没启动完全了。
于是修复的方法就是显而易见了,这里我拿我弄好了的pve的ssh演示一下,首先进去fstab里面把之前的sdb给注释了vim /etc/fstab
下面的三个就是,重启一下就不报错了……
接下来就是添加新的硬盘了
- 先
fsdisk /dev/sda先输入n,然后不用分盘一路回车就行,如果要分的话选择一下序号和大小,然后w - 在dev下ls一下就发现多了一个sda1,但是他是空的,需要ext4签名格式化一下sda1,
mkfs.ext4 /dev/sda1(ext4在linux是最高效的,ntfs是windows上的,exFAT一般在u盘) - 就是挂载了首先
fdisk -l或者lsblk看下所有物理磁盘的情况,当然也可以去/dev里面看 - 新建一个文件夹
mkdir /mnt/sda1(在哪都可以,一般挂载都放在/mnt嘛) - 直接mount挂载
mount /dev/sda1 /mnt/sda1(注意前面是源,后面是要映射的),如果报错wrong fs type的话就是没有格式化(注意挂载给的那个文件的之前的东西会被隐藏不可见,但是没被删掉,取消挂载之后还有) - 再
lsblk看下是否成功 - 最后在
vim /etc/fstab里面添加开机自动挂载就可以了,fstab就是上面的截图里面的,解释一下各参数:file system是挂载的设备,mount point是挂载的位置,type是系统类型,上面新建的ext4就写这个就行了,options是文件系统参数defaults就好,dump是备份命令0是不备份1是备份,pass是是否检查分区0是不检验1是最早检验2是之后检验 - 如果要卸载的话就直接
umount /dev/sda1(注意是umount不是unmount,还有后面的参数是源) - 如果要删除分区的话还是
fsdisk /dev/sda但是是输入d,然后选择需要删除的序号
接下来便是pve里面的配置了
- 在
数据中心-存储-添加里面添加目录,然后把内容全部勾上就好了 - 然后虚拟机里应该也会有磁盘挂载的问题,同样设置一下就好了
- 如果虚拟机要添加刚才的硬盘的话就可以不用硬盘直通直接在存储里选择刚才添加的存储桶,选择大小就好了,关于pve中的存储分配是跟esxi不一样的,前者是用多少给多少跟linux一样,后者是要多少全部都给,具体可以看下https://foxi.buduanwang.vip/linux/2044.html/
- 然后进去虚拟机就能在/dev里看到新加的硬盘了,要挂载的话和上面的一样
- 注意如果上面的这个硬盘分离之后没有移除的话是会占用空间的,文件名是 xxx.qcow2
下面是我走的弯路,一开始以为是引导那边出了问题,就去grub里面改,不过也借此学了一下linux的启动过程
首先先进到grub,这玩意不是bios,不用按del啥的进,linux每次刚开始就会有进grub,大概长这样
然后按e进入编辑配置文件,按c进入命令行
我们这里按c,进入命令行之后可以改启动引导,因为grub是用来选择在哪个地方boot,加载什么内核什么initrd之类的
接下来是修改的详细步骤
ls查看有哪些盘设备

set root=xxx设置根盘,xxx是例如上面(hd0)这样的,这里我用(lvm/pve-root),这里的根盘是名义上的,其实就是下面的命令的根目录linux /boot/vmlinuxz-*.x86_64 root=xxx设置内核,这里输入了linux /boot/vm之后就可以tab一下看下能不能补全,下面是我这里的全名

然后后面的root等于的是根分区路径,可以写成/dev/mapper/xxx这里我用的是/dev/mapper/pve-root,如果这个不写的话会报一个没有根路径的错,写错了的话就会直接报kernel panic,像这样
- 完事了之后就要挂img镜像了,用
initrd /boot/initramfs-*.x86_64.img,这里同样也是,输入init之后tab一下可以补全就可以 - 最后直接boot就可以进入,正常来说是可以进系统的,但是如果配置错误可能会进去一个叫initramfs的管理系统

- 进了系统之后,
grub2-install /dev/sda重新安装然后覆盖引导,grub2-mkconfig -o /boot/grub2/grub.cfg修改并更新配置文件,如果没有grub2的话就apt装 - 这样再次重启之后boot就改了
以上我是参考的这篇文章https://blog.csdn.net/rumil/article/details/130537642?spm=1001.2014.3001.5501
然后我又从这里学习了一下Linux的启动过程https://cloud.tencent.com/developer/article/1114481,大概就是POST自检-bios引导-加载内核和initrd-运行init和守护进程daemon-系统初始化,文章里面的这张图有对grub的各项参数的描述,同时grub是可以在linux里面更改的,文件都在/boot/grub中
Esxi
安装自己
安装Ubuntu
安装windows
直接安镜像就好了,缺少了dll库的话就安一个VC_redist.x64
安装openwrt
我下的istore,下载一个img之后用StarWind V2V Converter本地选取文件然后远程esxi安装就好了,要先在esxi上创建一个空的openwrt虚拟机,硬盘删掉CD驱动器删掉,然后远程安装完之后就可以直接启动。他会把硬盘分好的,进去quickstart配置ip啥的就好了。
Wsl
卸载之前的
我windows上装的kali wsl崩了,莫名其妙报错0x80041002,排查不出来只好卸载重装
先wsl --list列出一下有什么已经安装了的
然后wsl --unregister kali-linux卸载(注销)
再list就会发现已经没了
安装新的kali
- 首先是需要在
windows程序与功能里打开适用于 Linux 的Windows 子系统和hyper-v wsl --list --online列一下可以安装的分发

wsl --install -d kali-linux安装,如果不行的话需要去微软应用商店搜索下载,直接搜kali就有- 结果还是报错WslRegisterDistribution failed with error: 0x80041002
- 发现是因为wsl2与其他虚拟机的网络配置冲突了,就先装一个wsl1
- 修改一下默认安装版本
wsl --set-default-version 1 - 然后在用上面的命令安装发现安装成功了
wsl -l -v查看一下已安装的wsl的信息

- 但是还是wsl2比较好,想升级一下,使用
wsl --set-version kali-linux 2 - 发现还是报错,于是想着从根源也就是网络的那方面去解决
- 先设置root为默认用户
kali config --default-user root - 改一下软件源,具体的可以去看部署服务器那个文章,他这个甚至没有vim,用nano也行,直接编辑编辑完之后ctrl o保存然后ctrl x退出,注意这个kali源和Ubuntu的是不一样的
deb https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib
# deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main non-free contrib
当然也可以用sed命令替换sed -i "s@http://http.kali.org/kali@https://mirrors.tuna.tsinghua.edu.cn/kali@g" /etc/apt/sources.list
- 然后安装全量包
apt install kali-linux-large,这玩意很大,慢慢等就好了 - 安装的时候报错了

芜湖世纪难题解决了!!
起因是0x80041002的报错在我安一个Ubuntu设置为wsl2的时候报全了
然后我就查这个配置文件是什么意思啊,就找到了这篇文章https://zhuanlan.zhihu.com/p/593263088
照着配了这个.wslconfig
[experimental]
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
再重新设置竟然可以了!不仅如此,kali的也是可以的
但是会报错
<3>WSL (51) ERROR: UtilTranslatePathList:2853: Failed to translate E:\vmware\bin
<3>WSL (51) ERROR: UtilTranslatePathList:2853: Failed to translate E:\xshell\
为啥呢?一想是因为之前换了硬盘,路径对不上,但是这是哪里的路径呢?一查,发现了这是环境变量的啊,进去把他们都删了,但是还不行,想了半天才发现是没有重启shell,环境变量没生效,重启之后果然就没有报错了
但是,他还是连不上网,curl要不是在networkingMode=mirrored的时候显示
要不就是在networkingMode=None的时候显示,根本就连不上网!
然后不填的话就还是会报0x80041002,所以这也不是环境变量的问题,wsl会报那个错完全就网络的问题
其实还有一种就是networkingMode=bridged,但是需要创建一个虚拟交换机
去win搜索那里搜hy管理,进去在自己电脑的界面的右边点虚拟交换机管理器,然后进去创建

不出意外,又报错了。。。
是不是很熟悉?又是你0x80041002!
可算是知道了啥问题,原来根本就在创建虚拟交换机里出错了,所以在wsl启动的时候创建虚拟网络的时候就炸了,但是mirror模式复制或者none模式不使用网络就可以,好好好
这下不得不去解决一下根本问题了,找到一篇这个文章https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/virtualization/error-applying-virtual-switch-properties-changes,人家叫我去更新一下网卡,更!