俞木发
Windows 11的常规安装是在離线状态下完成的,而且在安装过程中需要设置输入法、语言、微软账户等。如果要实现自动安装,我们只要将这些步骤转化为自动化操作即可。以远程帮助朋友操作为例,离线安装操作通过在本机中预先安装系统实现,安装过程中账户设置等操作则通过应答文件自动实现。为了叙述方便,将自己的电脑假设为电脑A,朋友的远程电脑假设为电脑B。我们先在电脑A中完成Windows 11的预部署工作,接着在电脑B中设置自动操作,实现电脑B重启后自动部署Windows 11即可。具体操作流程如图所示(图1)。
1安装虚拟系统
电脑A的预部署操作可以使用系统自带的Hyper-V虚拟机先完成Windows 11的安装,假设安装好的虚拟Wi n d ows 11系统为系统C。进入系统C后安装微信、QQ、Of fice等常用软件,接着运行系统C中的“C:\Windows\System32\Sysprep\Sysprep.exe”,“系统清理操作”选择“进入系统全新操作体验(OOBE)”并勾选其下的“通用”选项,“关机选项”选择“关机”,点击“确定”开始清理系统(图2)。
2添加自动应答文件
完成上述的操作后关闭Hyper-V。假设安装虚拟系统的VHD文件为“C:\win11.vhd”,右击该文件并选择“装载”,记住其装载后的盘符(假设为D)。接着到“https://share.weiyun.com/RbnFJy6V”下载自动应答文件“unattend.xml”,下载后将其保存到“D:\Windows\Panther”中,并将其他文件全部删除。
3封装系统
根据电脑B 的不同启动方式,可以将上述预部署系统封装为不同的文件。对于以BIOS方式启动的电脑,建议使用“一键GHOST 硬盘版”(下载地址:http: //www.yjhyjl.com /)来封装,安装完该程序后运行“C:\dosh\ghos\ghost32.exe”,依次点击“Local→Partition→ToImage”,然后选择D盘备份为“win11.gho”,放置在“E:\”备用(图3)。
对于以UEFI方式启动的电脑,建议使用“DISM++”(下载地址:www.chuyu.me)来封装。启动该程序后选中D盘内的Windows 11系统,点击“打开会话”,接着依次点击“恢复功能→系统备份”,按提示将D盘中的系统备份为“E:\win11.wim”。
完成上述的操作后,现在使用QQ远程协助连接到电脑B,在电脑B中运行“msinfo32.e xe”,确定电脑B的引导方式,BIOS启动的传输“E:\win11.gho”、UEFI启动的传输“E:\win11.wim”,假设接收的文件也保存在电脑B的“E:\”中。
1备份系统
参考图4的操作将电脑B 的C盘先备份到“E:\os.wim”中备用,这样当新系统安装失败后或者需要恢复到旧系统时,可以进入PE系统恢复。
2以BIOS方式启动的操作
同上在电脑B中安装“一键GHOST 硬盘版”,启动该程序后点击“导入”,然后按提示选择接收到的“e:\win11.gho”文件。导入成功后确认在程序主界面的“一键备份系统”选项处可以看到类似“H:\~1\C_PAN.GHO”的字样,切换到“一键恢复系统”,点击“恢复”按钮(图4)。
这样电脑B重启后会自动进入一键恢复系统的界面。系统恢复完成后再次重启,就可以看到Windows 11的安装界面了。这里的安装步骤都是全自动完成的。安装完后即可开始使用Windows 11系统,可以看到默认登录的是Administrator账户。
3以UEFI方式启动的操作
首先在电脑B中启动记事本程序,输入下面的代码并保存为1.bat。然后将批处理封装为可执行文件a.exe,放置在“E:\”备用。假设接收到的文件为“E:\win11.wim”。
Format c: /q /y
DISM.exe /Apply-Image /ImageFile:e:\win11.wim/Index:1 /ApplyDir:C:\
wpeutil reboot
接着在电脑B 中使用Bootice.exe添加一个名为“Windows 11自动安装”的WinRE启动项(图5)。最后按提示加载Winre.wim,在winpeshl.ini配置文件中增加a.exe的启动项并保存镜像文件。
现在告诉使用电脑B的朋友,重启电脑后在多重启动菜单中选择“Windows 11自动安装”(图6)。这样进入WinRE后会自动释放“E:\win11.wim”文件到C盘中,重启后即可自动完成Windows 11的安装了。
当然,上述方法也适合于在本地使用。比如需要在以BIOS方式启动的电脑D中部署系统,同上将制作好的GHO文件传输到电脑D,在电脑D中安装“一键GHOST硬盘版”
并进行恢复即可;而要在以UEFI方式启动的电脑E中部署系统,则只要先制作PE启动盘,接着将上述制作的批处理1.bat放置在启动盘根目录中运行即可。
# Provides: c cpd
# R equired-Start: $ local_fs $ remote_
fs $syslog $network $named
# Should-Start: $ ALL
# Required-Stop: $ syslog $remote_fs
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: Star t Canon Printer
Daemon for CUPS
### END INIT INFO
然后再输入并执行“sudo systemctl enable ccpd.service”命令即可。
安裝完驱动后,在终端窗口中输入并执行“captstatusui -P LBP3000”,如果弹出“Ready to Print”的提示,说明打印机已经就绪,可以正常打印了(图3)。
上述的方法也适合在Ubuntu、Debian等中安装Canon CAPT系列打印机驱动。如果在这些系统中安装完驱动后打印机仍然不能正常工作,一般是因为缺少必需的库文件,可以执行“ldd /usr/bin/capt* | sort | uniq | grep "not found"”命令查找具体缺少哪个库文件,安装后即可解决。
对于Deepin、UOS等已经提供了Canon打印机驱动下载服务的Linux系统,还可以在线安装驱动,比上述的方法更简单。
打开终端窗口,依次执行下列的命令:
1.sudo apt install cndrvcups-capt
2.sudo apt install zlib1g:i386 libxml2:i386libstdc++6:i386
3.sudo /usr/sbin/lpadmin -p LBP3000-m CNCUPSLBP3000CAPTK.ppd -v ccp://localhost:59787 -E
4.sudo /usr/sbin/ccpdadmin -p LBP3000-o /dev/usb/lp0
5.sudo systemctl restart ccpd.service
6.sudo systemctl enable ccpd.service
Deepin Linux系统自带的打印管理器并不监视打印机状态,只要向打印机传输完数据,不管是否打印成功,都会显示“XX文档打印完成,请及时取走纸质文件”(图4)。一旦打印机缺纸,既不会给出提示,也不会在加纸后恢复打印。因此,如果打印时出现缺纸的情况,打印机就会进入“假死”的状态。为了解决这个问题,可以使用captstatusui来监视打印机状态,并将其设置为自动启动。打开终端窗口,输入并执行“vim ~/.config/autostart/captstatusui.desktop”命令,新建一个名为“captstatusui.desktop”的文件,然后在其中输入下面的内容,保存后重启系统。
[Desktop Entry]
Comment=Status monitor for Canon LBP3000
Exec=captstatusui-P LBP3000-e
Hidden=false
Name=captstatusui
Terminal=false
Type=Application
X-Deepin-Vendor=user-custom
这样当打印机缺纸时,captstatusui就会弹出“Out of Paper”的提示(图5)。加纸后,我们可以选择继续打印,也可以终止打印作业。