无忧启动论坛

标题: 怎么生成一个BOOT.INI [打印本页]

作者: shayulei    时间: 2008-8-6 14:37
标题: 怎么生成一个BOOT.INI
我做了一个XP SP3的WIM的映像,部署到计算机上时发现有些笔记本C盘在第二个分区上,第一个分区是还原分区,但我每次重新安装都要手动的修BOOT.INI太累,请问有什么命令可以在PE里根据实际情况生成一个BOOT.INI呢?

作者: lvyanan    时间: 2008-8-6 15:11
做好一个样本,届时覆盖过去就是了。
作者: shayulei    时间: 2008-8-6 16:02
但我不知道客户机倒底哪个分区是C盘!
作者: shayulei    时间: 2008-8-6 16:41
或者有什么办法可以测试C盘所在的分区?
作者: haiou327    时间: 2008-8-6 20:54
究竟是系统分区还是C分区,
作者: shayulei    时间: 2008-8-7 08:08
我是想知道系统盘在哪个分区上!方便修改BOOT.INI
作者: shayulei    时间: 2008-8-7 10:16
我用diskpart /s z:\a.txt > b.txt,现在能不能在B.txt里找到带*号的一行,取他的分区号?

附件是b.txt样本

b.rar

373 Bytes, 下载次数: 112, 下载积分: 无忧币 -2


作者: shayulei    时间: 2008-8-7 11:18
请问我想把find "*" < z:\b.txt显示的内容,赋给一个字符变量,然后截取第12位的1个字符怎么做?
作者: shayulei    时间: 2008-8-7 13:41
for /f "Tokens=1-15" %%i in ('diskpart /s z:\a.txt | find "*"') do set F=%%i-%%j
为什么变量“F ”取不到字符串
作者: haiou327    时间: 2008-8-7 14:09
行否

@echo off&setlocal enableDelayedExpansion
diskpart /s a.txt > b.txt
findstr "*" < b.txt >c.txt
for /f "tokens=2,3* delims= " %%i in (c.txt) do (
set a=%%j
echo !a!
)
del c.txt
pause


[ 本帖最后由 haiou327 于 2008-8-7 15:20 编辑 ]
作者: haiou327    时间: 2008-8-7 19:12
  1. for /f "Tokens=1-15" %%i in ('diskpart /s z:\a.txt | find "*"') do set F=%%i-%%j
  2. 为什么变量“F ”取不到字符串
复制代码
楼主把"Tokens=1-15"换成"delims="

[ 本帖最后由 haiou327 于 2008-8-7 23:19 编辑 ]
作者: haiou327    时间: 2008-8-7 19:53
  1. for /f "Tokens=1-15" %%i in ('diskpart /s z:\a.txt | find "*"') do set F=%%i-%%j
  2. 为什么变量“F ”取不到字符串
复制代码
  1. @echo off&setlocal enableDelayedExpansion
  2. for /f "delims=" %%i in ('diskpart /s z:\a.txt|findstr "*"') do (
  3. set var=%%i
  4. echo !var!
  5.     )
  6. pause
复制代码

[ 本帖最后由 haiou327 于 2008-8-7 23:19 编辑 ]
作者: shayulei    时间: 2008-8-8 11:04
谢谢,大家,我已经搞定了
@echo off
attrib -s -h -r c:\boot.ini
attrib -s -h -r c:\bootxp.ini
for /f "Tokens=1-3" %%i in ('diskpart /s z:\diskpart\Testc.txt ^| find "*" ') do set /a SystemPart=%%k
if %SystemPart% LSS 1 GOTO error
if %systemPart% GTR 10 goto error

::生成boot.ini
echo [boot loader] > c:\boot.ini
echo timeout=30 >> c:\boot.ini
echo default=multi(0)disk(0)rdisk(0)partition(%SystemPart%)\WINDOWS >> c:\boot.ini
echo [operating systems] >> c:\boot.ini
echo multi(0)disk(0)rdisk(0)partition(%systemPart%)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /detecthal >> c:\boot.ini

::生成bootxp.ini
echo [boot loader] > c:\bootxp.ini
echo timeout=30 >> c:\bootxp.ini
echo default=multi(0)disk(0)rdisk(0)partition(%SystemPart%)\WINDOWS >> c:\bootxp.ini
echo [operating systems] >> c:\bootxp.ini
echo multi(0)disk(0)rdisk(0)partition(%systemPart%)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect >> c:\bootxp.ini

goto :EOF
:error
echo 测试系统盘出错,请手处理boot.ini & goto :EOF

:end
作者: lxl1638    时间: 2008-8-16 13:49
原帖由 zhxy9804 于 2008-8-15 11:46 发表

timeout=50
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT=" Win2K 安装在第一个硬盘第一个区 "/fastdetect
multi(0)disk(0)rdisk ...


的确没有一个适合本人的,本人要是装XP,系统目录名是 WinXP,要是装2003,可能用 Win2003。
作者: haiou327    时间: 2008-8-16 14:04
用%windir%变量了替换了.
作者: shayulei    时间: 2008-8-18 10:58
晕,windows能自动选择可以用的一栏吗?不可以吧!!!!!!!!!




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3