|
我共享下我的开机就还原VHD的文件,我就不另开主题了。
注意: 我的这套东西,要求XP VHD 要放在 第一个EISA隐藏分区(NTFS格式),就是分区标识为12,可以用DG把标识为7的NTFS转为12.
建议部署的方式:
1: fbinst + grldr
硬盘用fbinst格式化,引导文件放ud内,最后一个分区先格式化为NTFS,再把分区参数转为12,也具是转为EISA分区。VHD文件放最后一个分区。
2:grldr.mbr 或者 wee 引导。其他同上。
有多余的代码未清理。
主要核心文件代码:
VHDLDR:
!BAT
set
:begin
if /i "--vboot"=="%~1" && goto :vboot_vhd
if /i "--restore"=="%~1" && goto :restore_vhd
exit
:vboot_vhd
map --mem (bd)/BOOT/GRUB/VBOOT.IMG (0)
map --hook
find --set-root %~2
uuid ()
set /l ?_UUID=%?_UUID%
echo -e -n "(UUID=%?_UUID%)%~2"\xd\xa\x7d >> (0)/vboot/grub/grub.cfg
kernel (0)/vbootldr
boot
exit
:restore_vhd
map --mem (bd)/BOOT/GRUB/VBOOT.IMG (0)
map --hook
find --set-root %~2
uuid ()
set /l ?_UUID=%?_UUID%
echo -e -n "(UUID=%?_UUID%)%~3"\xd\xa\x7d >> (0)/vboot/grub/grub.cfg
echo -e REVHD %~2 %~3 \n >> (0)/AUTOEXEC.BAT
cat --locate=/ --replace=\\ (0)/AUTOEXEC.BAT
rootnoverify (0)
chainloader (0)+1
boot
exit
REVHD.BAT :
@echo off
cls
tway /np >nul
::---------------------------------------------------
set VHD_BAK=%1
set VHD_NAME=%2
echo.
wbat text 3,6 (+green on black)"某某单位专用系统启动中,请等待...... !!!"
echo.
omnifs info >hd_id.txt
awk '/Diag/' hd_id.txt|nset VHD_PART=$1
::---------------------------------------------------
:del_vhd
cls
echo.
::可换单位自己的口号
wbat text 3,6 (+green on black)"发展社区健康服务,提高居民健康水平!"
echo.
omnifs if exist %VHD_PART%\%VHD_NAME% delete %VHD_PART%\%VHD_NAME% >nul
::---------------------------------------------------
:cp_vhd
cls
echo.
::可换单位自己的口号
wbat text 3,6 (+green on black)"医者,如临深渊,如履薄冰,需求真求确,必邃必专!"
echo.
omnifs copy %VHD_PART%\%VHD_BAK% %VHD_PART%\%VHD_NAME%
::---------------------------------------------------
:satar
grub.exe --config-file="kernel (fd0)/vbootldr "
::---------------------------------------------------
:end
quit.com r
汗一个,忘记修改message文件了,背景是我单位定制的,变形的图片,4:3的显示器会变形。宽屏的刚好还原成正常比例。
[ 本帖最后由 Plantsoot 于 2011-8-7 21:03 编辑 ] |
|