|
IBM + PM + ghost 8.3 一键还原光盘版安装程序
IBM + PM + ghost 8.3 一键还原光盘版安装程序
http://hi.baidu.com/yyzzkj/blog/item/4dd2fb164396ff1b962b430d.html
测试成功。
下载地址:
http://www.zjj-pengzhai.cn/uploadfile/IBM_F11Key_Ghost测试版.rar
安装运行条件:
1、只支持一个硬盘。
2、最后分区不能是主分区。(也就是说安装类似系统或本系统之后也不能在进行第二次安装)
3、分区数不能少于两个。(也就是说至少要有一个逻辑分区)
4、最后分区未使用空间不能少于3G或未分配空间加上最后分区未使用空间不能少于3G
说明.rar
(676 Bytes, 下载次数: 320)
=========以上是测试成功的作品,现共享给大家。好久没来了。希望大家喜欢,使用方便。2009年1月22日更新==================================================================
================以下是以前的内容=======================================================
IBM + PM + ghost 8.3 一键还原光盘版安装程序
我在做IBM + PM + ghost 8.3 一键还原光盘版安装程序
安装分三个部分
第一是 PQPM 脚本自动划分空间大小 卷标为 IBM_SERVICE
第二是把自制作的ghost备份还原代码拷到划分的 卷标为 IBM_SERVICE 分区里
第三安装IBM F11 隐藏 卷标为 IBM_SERVICE 分区。实现一键启动。
目前第二步还没有解决。有知道的给个代码。
QQ:279331909 Email:wangrenmi20030610@163.com
在Virtual PC 手工安装 IBM + PM + ghost 8.3 已经测试成功。。
另付 PQPM 脚本自动划分空间代码
// ****************************************************************************************************************
// F11_AutoCreatePartition.PQS:在第一块硬盘的最后建立第一个分区使用空间的1/2 + 200MB大小的主分区
// 本脚本的设计目标是适应各种情况的硬盘。
// 脚本创建者:Climbing(QQ:653668, Email:xclimbing@msn.com, Homepage:http://climbing.minidns.net/dvbbs)
// 创建日期:2004.03.17
// 目前本脚本运行状态:初步测试运行正常,但没有运行各种极限情况下的测试,因此需要进一步测试
// ****************************************************************************************************************
// 允许用户在操作后手工重新启动计算机,否则将自动重新启动计算机
Allow Manual Reboot
//默认情况下不检测坏扇区,提高操作速度
Set Default Bad Sector Test State OFF
// 选择第一块硬盘
Select Disk 1
//选择第一个分区
Select Partition First
Dim PriSize
// 检测第一个分区的使用空间,将PriSize设置成其使用空间的1/2再加上200M,否则恐怕不够用
PriSize = GetUsedAmount / 2 + 200
// 检测当前硬盘上的主分区数量
Dim PriNum
Dim i
i = 1
PriNum = 0
Select Partition FIRST
DO WHILE i < GetTotalPartitions
IF IsPrimary Then
PriNum = PriNum + 1
End If
Select Partition Next
i = i + 1
Loop
IF IsPrimary Then
PriNum = PriNum + 1
End If
// 检测硬盘上是否有扩展分区,如果有,也算是一个主分区
dim ExtNum
ExtNum = GetPartitionNumber Extended
If ExtNum <> 0 Then
PriNum = PriNum + 1
End If
// 只有主分区数量小于4才可以继续
IF PriNum < 4 Then
// 如果存在扩展分区,则选择扩展分区,让它占满前后所有的未分配空间
If ExtNum <> 0 Then
Select Disk 1
Select Partition Extended
Resize Max
End if
// dOperPnum用来保存操作过多少分区
Dim dOperPnum
dOperPnum = 0
// bMove 用来判断是否进行了空间腾出操作,如果是,刚为后面的空间移动提供判断基础
Dim bMove
bMove = 0
// dLastOpPar保存最后一次操作的分区编号
Dim dLastOpPar
// 如果当前未分配空间数量已经满足需要,将不需要进行重新分配空间操作
If GetTotalUnallocatedSpaces < PriSize Then
//选择最后一个分区并判断其是否为主分区
Select Partition Last
Check
// FreeSpace用来保存已经腾出的空间
Dim FreeSpace
FreeSpace = 0
// NeedSpace用来保存还需要腾出多少空间
Dim NeedSpace
NeedSpace = PriSize
Dim dTmp
dTmp = 0
// 从最后一个分区循环往前操作以腾出需要的空间
i = 0
Do While FreeSpace < PriSize
// 将当前操作分区扩到最大
Resize Larger Max
// 检测该分区未使用空间是否满足要求,如果满足,空出需要空间,如果不满足,继续操作
IF GetUnusedAmount >= NeedSpace Then
//改变该分区的大小,在其后面空出需要大小的空间(即NeedSpace变量保存的值)
Resize Space After NeedSpace
FreeSpace = FreeSpace + NeedSpace
bMove = 1
Else
// 如果本分区剩余空间大于100M,则将本分区缩小未使用空间减100M的大小
If GetUnusedAmount > 100 Then
dTmp = GetUnusedAmount - 100
Resize Space After dTmp
FreeSpace = FreeSpace + dTmp
NeedSpace = PriSize - FreeSpace
bMove = 1
End If
End If
i = i + 1
dOperPnum = dOperPnum + 1
// 如果循环到了第一个分区但空间仍然不足,则直接退出循环
If i < GetTotalPartitions Then
Select Partition Previous
Check
dLastOpPar = GetPartitionNumber Next
Else If FreeSpace < PriSize Then
dLastOpPar = GetPartitionNumber First
Exit Loop
End If
Loop
End If
// 如果没有进行分区分割操作,两个原因:1、磁盘空间不足;2、未分配空间已经够用
If bMove = 0 Then
dLastOpPar = GetPartitionNumber First
dOperPnum = GetTotalPartitions
Select Partition First
Move Left Max
Else
// 开始将前一个循环中腾出的空间进行后移操作
Dim LastMoveParType
Dim CurParNum
i = 1
If bMove = 1 Then
Select Disk 1
Select Partition dLastOpPar
CurParNum = GetPartitionNumber Next
If IsPrimary Then
LastMoveParType = 1
Else
LastMoveParType = 0
End If
Do While i < dOperPnum
Select Partition Next
If IsPrimary Then
If LastMoveParType = 0 Then
Select Disk 1
Select Partition Extended
Resize Min
End If
Else
If LastMoveParType = 1 Then
Select Disk 1
Select Partition Extended
Resize Left Boundary Max
End If
End If
Select Partition CurParNum
Move Left Max
If IsPrimary Then
LastMoveParType = 1
Else
LastMoveParType = 0
End If
CurParNum = GetPartitionNumber Next
i = i + 1
Loop
// 选中最后的未分配空间(刚才空出的)
Select Unallocated After Selected Partition
//在硬盘最后创建指定大小的分区,分区卷标为SYS_GHOST,当然,你可以根据实际情况修改卷标。
Create /FS=FAT32 /LABEL="SYS_GHOST"
// 将这个分区转换为主分区
Convert To Primary
End If
End If
End If
[ 本帖最后由 wangrenmi 于 2009-1-22 15:03 编辑 ] |
|