none
怎么生成一个BOOT.INI RRS feed

  • 问题

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

    2008年8月6日 6:30

答案

  •  

    @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

    2008年8月8日 3:06

全部回复

  •  

    写一个txt 将 diskpart要用到的指令都写入,让PE直接调用diskpart 命令,全部清空,不是很简单吗。

     

    标准化啊。

    2008年8月6日 8:00
  • 一般这种情况发生在笔记本上,一般的笔记本都会有一个隐藏分区,用来备份的操作系统,这个分区一直是最后一个,但自从IBM卖给联想以后,这个分区就变成第一个了,害我的自动安装系统安装完后,无法启动。

    2008年8月6日 8:06
  • 或者有什么办法可以测试C盘所在的分区?

    2008年8月6日 8:41
  •  

    我用diskpart /s z:\a.txt > b.txt,现在能不能在B.txt里找到带*号的一行,取他的分区号?
    2008年8月7日 2:17
  •  

    请问我想把find "*" < z:\b.txt显示的内容,赋给一个字符变量,然后截取第12位的1个字符怎么做?
    2008年8月7日 3:18
  •  

    for /f "Tokens=1-15" %%i in ('diskpart /s z:\a.txt | find "*"') do set F=%%i-%%j
    为什么变量“F ”取不到字符串
    2008年8月7日 5:42
  •  

    @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

    2008年8月8日 3:06