月度归档:2025年09月

把整个物理笔记本的系统塞进Proxmox VE虚拟化

前缀、文档修改记录

20250909 初始化编辑此文章,完稿
20250911 更新内容

章节1、需求描述

一直想把公司配发的电脑,整个硬盘上的系统(含系统盘、数据盘)整个打包,塞进虚拟化里面,这样方便自己有的时候,临时出差用一下公司的内网。

章节2、Disk2vhd工具

使用到的是微软官方的Disk2vhd工具,用它,可以把整个磁盘,全部打包成vhd

https://learn.microsoft.com/en-us/sysinternals/downloads/disk2vhd

章节3、操作过程

3.1、 (可选)镜像复制整个磁盘

我弄了2个NVMe的移动硬盘盒,把工作笔记本电脑的三星固态M2/512GB 硬盘拆了出来,用 Linux系统的 dd命令,拿一块国产的M2/512GB,整个镜像了一遍磁盘,后续的操作可以在我复制出来的这块国产M2/512GB的磁盘上操作,即便操作步骤有错误,也不会把工作系统弄炸裂。

3.2、 运行disk2vhd工具

disk2vhd工具支持对运行中的系统中执行,同样也支持移动硬盘,比如我刚刚镜像出来的国产化硬盘M2/512GB,只要移动硬盘里的分区能够在 Windows 中正常挂载并显示为卷(例如有盘符 D:\、E:\),Disk2vhd 就能扫描并列出来,你也可以勾选它来进行转换。

选项1、 [勾选] prepare for use in virtual PC

选项2、 [不需要]use vhdx

因为我最终要把镜像文件弄到我的Proxmox VE环境中,vhd格式是适合的,而你们若准备用HyperV承载,则这里应该选择vhdx

选项3、 [不需要]usse volumn shadow copy

因为,我是用的其他电脑,运行disk2vhd,移动硬盘里,是需要打包成vhd的工作系统,基于 Windows 的卷影复制服务(VSS, Volume Snapshot Service)来创建 VHD,这个选项,我这里不必。

VHD File name: 存储路径,我的台式机的HDD/D盘,剩余可用磁盘空间759GB,足够放置这个512GB的磁盘文件。

点击 Create,即可开始,因为是逐块读取磁盘和写入的,速度一般不会很快,慢慢等待执行完成就是。

3.3、 上传文件

将刚刚生成的 DESKTOP-XXYYZZ.vhd文件上传到我的PVE磁盘目录下,注意因为文件比较大,传输完成后,用md5sum/sha1sum之类的校验一下完整性。

3.4、 格式转换

PVE 中新建一台虚拟机

硬件参数设置尽量和实体机一致(CPU、磁盘控制器、UEFI/BIOS 模式)

转换为 PVE 可用格式

qemu-img convert -f vpc -O qcow2 DESKTOP-XXYYZZ.vhd vm-101-disk-0.qcow2

// 其中-f表示原始file式,QEMU recognizes vpc for VHD files and vhdx for VHDX files.   qemu-img info /var/lib/vz/template/iso/DESKTOP-AAU5KV1.VHD
// 其中vmid-101 这个101根据你们实际的虚拟机ID来。VM 配置文件里挂载


qm importdisk 102 /root/vm-101-disk-0.qcow2 local-zfs
// 其中102这个修改为你创建的VM的ID号
// local-zfs修改为你的存储路径
创建虚拟机(CPU/MEM/noDisk/noSystemISO/网卡E1000),网卡MAC地址跟公司的网卡的一致。

BIOS/UEFI 设置要和实体机一致(Windows 10/11 大概率用 UEFI + OVMF)。

硬盘控制器先选 SATA(这样可以保证先能启动)。

网卡先用 Intel E1000(Windows 自带驱动)。

把转换好的磁盘文件挂载到这台 VM 上(替换掉空磁盘)

章节3、 可能的驱动问题

Windows 迁移后可能蓝屏,要提前装好 virtio 驱动

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

alist 程序安装配置使用手册

前缀、文档修改记录

20250901 初始化编辑此文章,完稿

章节1、需求描述

有的时候,需要一个简单临时使用的web化的文件存储,这个时候,可以试试看 alist这个程序。

章节2、alist简介

Alist是一个支持多种存储后端的单体文件列表程序,Go 语言生态,可以将本地文件夹、网盘(如阿里云盘、百度网盘、OneDrive、Google Drive 等)映射,方便管理和分享。
特点:支持多种存储驱动、界面简洁、跨平台(Windows、Linux、Mac、Docker)、API 丰富,可对接其他应用

章节3、风险预警

alist开源项目,在2025年6月左右,经历了一次所有权变更,更偏向“商业化”发展的道路了,个人使用注意隐私安全。

“Alist 项目可能已经被转让给一家名为不够科技(贵州)的公司。从提交的 PR 内容来看,购买方疑似在项目中加入了用于收集用户操作系统信息的代码“ 新闻链接新浪

章节4、配置使用alist软件

项目程序下载地址 https://github.com/AlistGo/alist/releases

如果像我一样,只需要在云主机上使用alist最简单的本地云盘功能,且为了安全,则选择项目变动前的发布版本 v3.45

下载对应系统的压缩包(如 alist-linux-amd64.tar.gz)

解压后进入目录,运行:

./alist server

首次运行会生成配置文件,并显示默认管理员账号密码

就可以通过你服务器的公网IP地址 http://IP:5244/ 即可访问到网页,用户名 admin / A1qqyd4V密码看前面运行的日志。

进入之后,在主页的底边上,有一个 [管理] 选项,点击并进入,做如下设置,进行挂载本次存储器:

存储 –> 添加 –> 本机存储,然后填写 [挂载路径] 和 [根文件夹路径],之后保存就完成了基本的设置。

挂载路径(Mount Path),这是你在 Alist 网盘中访问的路径。

举例:如果你填 /movies,那么在 Alist 里打开 /movies 就会显示对应的本地文件夹内容,类似“映射目录到虚拟盘的别名”。

根文件夹路径(Root Folder Path),这是 你服务器/本机上实际的文件路径。

举例:如果你想把 /home/username/Downloads 映射到 Alist,那就填写 /home/username/Downloads。Windows 下例如 D:\Video。

配置完这个本地存储,点击全部重新加载。点击左下角的首页即可。

创建几个文件测试一下





另外,还可以在 [用户] 选项中创建一些低权限账户,供局域网中其它设备访问。

章节5、Docker方式部署(这个不推荐,因为没必要)

拉取镜像

docker pull xhofe/alist:latest

创建容器

docker run -d \
  --name=alist \
  -p 5244:5244 \
  -v /etc/alist:/opt/alist/data \
  xhofe/alist:latest

浏览器访问 http://服务器IP:5244 即可进入管理界面

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨