删除PVE后windows 下 zfs的挂在 群晖分区
pve系统分区的btrfs崩盘,目测是raid10但是还是无法修复
虽然更绝btrfsck的提示做了几步重构了tree什么的
还是无法正常启动
并且硬盘读写缓慢。。。
一块硬盘还好,但是4块硬盘的虚拟化3150那不能直通速度狠拉跨
现在数据主要在4个分区中的ZFS
但是因为linux分区的删除
///跟linux系统分区删除无关一直跳过到下一个///
直接在windows中尝试zpool list出现了
/dev/zfs and /proc/self/mounts are required.
Try running 'udevadm trigger' and 'mount -t proc proc /proc' as root.
猜测是pve的分区丢失导致的
wsl中安装zfs尝试挂在。。。
先安装zfs:
sudo apt install zfsutils-linux
zpool list看下zfs基本功能出来没
The ZFS modules are not loaded.
Try running '/sbin/modprobe zfs' as root to load them.
其实破解的UFS可以读到但是因为但是zfs新建zvol的没选择discard,并且给了几乎全部的空间。。。真要恢复出来数据空间需要巨大,肯定也巨长
复制最新的zfs
Releases · openzfs/zfs · GitHub
进wsl wget下
cd ~
wget https://github.com/openzfs/zfs/releases/download/zfs-2.2.0/zfs-2.2.0.tar.gz
tar -zxvf zfs-2.2.0.tar.gz
./configure
发现没gcc之类的编译环境,先 sudo apt install gcc
又出现update错误 sudo apt-get update --fix-missing
重装下gcc
还得zlib-devel
ubuntu中得用apt install zlib1g
apt install zlib1g-dev
还缺libuuid-devel
apt install uuid-dev
继续缺libblkid-devel
apt install libblkid-dev
缺libssl-devel
apt install libssl-dev
缺 kernel devel package
apt install linux-headers-$(uname -r)
因为是微软特制的没有对应的linux-headers-4.4.0-22621-Microsoft
我再看看网上都是怎么在wsl下使用zfs的。。。
发现有个zfs on wsl的项目
https://github.com/alexhaydock/zfs-on-wsl
///跟删除pve 的 linux分区无关,是360把相关的驱动删除了,重新安装Releases · openzfsonwindows/openzfs (github.com)
就行了
在powershell里
$a=zpool import | select-string "pool:"; echo $a
为啥这么写,因为powershell没有grep
找到可以导入的zfs pool我的是ZFS
zpool import -f ZFS
然后参考微软官网:关于在 WSL 2 中安装 Linux 磁盘的入门 | Microsoft Learn
GET-CimInstance -query "SELECT * from Win32_DiskDrive"
获得硬盘列表,为啥不用diskpart因为得用DiskPath
wsl --mount \\.\PHYSICALDRIVE4 --bare
最好加--bare,因为尝试不加发现挂在很久也没结束。。。
wsl1这么挂在找不到的,wls1只能通过windows中已经识别的分区来挂载
另外得去硬盘管理中把zfs对应的zvol改成offline不然挂不上去wsl2
lsblk -f
查看识别到了没,识别到linux_raid_member,看来得用dm
先安装mdadm
sudo apt install mdadm
用到mdam肯定得用lvm的
sudo apt install lvm2
先md组建
sudo mdadm --assemble /dev/md0 /dev/sdc5 --update=devicesize --verbose
sudo vgchange -ay
ll /dev/mapper/
看到挂载成功到vg1-volume_1
再挂到文件夹上
sudo mkdir /mnt/30T
sudo mount /dev/mapper/vg1-volume_1 /mnt/30T
呃。。。btrfs貌似也没有。。。
sudo apt install btrfs-progs
然后重新试着挂载到文件夹
挂载失败。。。
sudo btrfs check /dev/mapper/vg1-volume_1
发现有错误
尝试下只读挂起
sudo mount -t btrfs -o ro /dev/mapper/vg1-volume_1 /mnt/30T
诶。。。也挂不起来
sudo btrfs check --repair /dev/mapper/vg1-volume_1
修复下。。。还是挂不起来。。。
好家伙看了官网不是在mapper下。。。
https://kb.synology.com/hu-hu/DSM/tutorial/How_can_I_recover_data_from_my_DiskStation_using_a_PC
先运行sudo lvs
然后 ls /dev/vg1
https://askubuntu.com/questions/882121/shr-raid-drives-with-crashed-nas-os-synology
https://stackoverflow.com/questions/46472439/fix-btrfs-btrfs-parent-transid-verify-failed-on
mdadm -Asf && vgchange -ay
只能说能加载zfs但是长期运行经常蓝屏。。。。。。
切换还有安装都得打开windows update,我一般默认是关闭的更新的。。。毕竟只是N3150
wsl 安装
Windows10/11 三步安装wsl2 Ubuntu20.04(任意盘) - 知乎 (zhihu.com)
得先开启虚拟机平台还有子系统
wsl --install
安装wsl
wsl --set-version Ubuntu 2
把默认安装在1的改到2下
wsl --set-default Ubuntu
设置默认的wsl
wsl --set-default-version 2
设置wsl2为默认
wsl -d 其他的发行本
运行其他的wsl
wsl --unregister 要删除的发行本
wsl -l -v 查看安装的发行本
wsl -l --online 查看可以安装的其他发行本
把wsl1的切换成2
输入wsl进ubuntu
设置root密码方便切换成root使用,sudo passwd root