无忧启动论坛

标题: [已解决]求大大指导一个批处理 不进PE就在当前系统中把c盘引导方式变成GRUB4DOS,谢谢 [打印本页]

作者: 879792799    时间: 2022-2-15 18:41
标题: [已解决]求大大指导一个批处理 不进PE就在当前系统中把c盘引导方式变成GRUB4DOS,谢谢
本帖最后由 879792799 于 2022-3-8 08:02 编辑

liuzhaoyzz大大说的方案更加稳定

bootice不完美,会有些问题。我早已更换为grubinst,支持命令行。
grubinst1.4,151kb,freesoft00分享,用于写入grub4dos引导,bootice命令行写入MBR有bug,会导致“优先尝试引导原来的MBR”选项被选中,对于一个空白的新硬盘或者优盘,当PBR是ntldr/bootmgr,而盘上不存在ntldr/bootmgr这一套引导文件的时候,“优先尝试引导原来的MBR”这个选项会导致空白的新硬盘或者优盘无法引导。因此放弃bootice写入方案,改用grubinst1.4命令行写入方案。


==================================================================================


求个批处理

就是在当前正在运行win系统环境中操作  把c盘bootmgr 引导方式变成GRUB4DOS引导! 省得去PE 来回折腾,求大大指导一下!!!仅仅限于自己电脑使用,不求通用

谢谢了

不使用批处理也行,使用软件达到目标也可以


=================================================================
依照窄口牛大大的思路   自己小修一下了论坛liuzhaoyzz版主大大的批处理   
加上pkups大大一个提权批处理(我用的是第一个)
基本上算是搞定了

提权批处理内容{pkups大大}

@echo off
PUSHD "%~dp0" & set "ROOT=%~dp0" & REG.EXE QUERY "HKU\S-1-5-19">NUL 2>&1
IF %ERRORLEVEL% EQU 1 ( CMD /U /C ECHO. CreateObject^("Shell.Application"^).ShellExecute "%~f0", "", "", "runas", 1 > "%Temp%\GetAdmin.vbs"& "%Temp%\GetAdmin.vbs" & DEL "%Temp%\GetAdmin.vbs" & EXIT /B )
:: MAIN START
ECHO [A].OK.............%ROOT%
PAUSE>NUL


BOOTICEx86批处理内容{liuzhaoyzz版主大大}

@echo off
BOOTICEx86 /DEVICE=0 /mbr /install /type=GRUB4DOS /v045 /boot_file=grldr /quiet
echo n|copy /-y %~dp0grub\grldr.* %systemdrive%\
echo n|copy /-y %~dp0grub\menu.lst %systemdrive%\
attrib +h %systemdrive%\grldr.*
attrib +h %systemdrive%\menu.lst
ECHO ┌─────────────────────────────────┐
ECHO │已经把grub4dos写入硬盘MBR! 按任意键退出。                                           │
ECHO └─────────────────────────────────┘
pause >nul



加上一个BOOTICEx86.exe软件



先运行提取批处理 再已管理员身份运行
BOOTICEx86批处理  就搞定了 !挺方便的!





=================================================================
再抄一下不点大大的知识点!

从帮助上看在/device=0与/install之间缺少一个/mbr
bootice的帮助:
命令行参数说明
────────────────────────────────
BOOTICE [DEVICE] [/mbr, /pbr, /sectors, /partitions] [parameters]
────────────────────────────────

【DEVICE】
────────────────────────────────
/DEVICE=[m:n | m | X:]
────────────────────────────────
  m:n >> 指定磁盘m上的分区n (m: 0,1,2...; n: Grub4Dos 风格,0,1,2...)
  X:  >> 盘符,通过盘符来指定磁盘号和分区号.
  如果 n 没有指定,则 n=0.

【MBR 操作】
────────────────────────────────
BOOTICE [DEVICE] /mbr [/install /backup /restore] [parameters]
────────────────────────────────
/install >> 安装某种 MBR 代码到磁盘上,需要 /type= 参数.
    /type=[wee, GRUB4DOS, grub2, 1jf9z, 1jf9k, plop, usbhdd+,
           usbzip+, nt52, nt60]
    如果没有指定 /type= 参数,程序将停在 MBR 界面等待用户操作.
    /menu=xxx.lst >> 指定 WEE 的菜单文件
/backup >> 备份 MBR 到磁盘文件,需要 /file= 参数.
    /file=xxx  >> 文件名,全路径名称或相对路径名称.
    /sectors=n >> 指定要备份的扇区数.
/restore >> 从 文件恢复 MBR,需要 /file= 参数.
    /file=xxx  >> 文件名,全路径名称或相对路径名称.
    /keep_dpt  >> 恢复时保留原磁盘签名和分区表.
/boot_file=xxx >> 指定启动文件,适用于 GRUB4DOS.

【PBR 操作】
────────────────────────────────
BOOTICE [DEVICE] /pbr [/install /backup /restore] [parameters]
────────────────────────────────
/install >> 安装某种 PBR 程序到分区引导扇区,需要 /type= 参数.
    /type=[msdos, GRUB4DOS, ntldr, bootmgr, syslinux]
    如果没有指定 /type= 参数,程序将停在 PBR 界面等待用户操作.
/backup >> 备份 PBR 到磁盘文件,需要 /file= 参数.
    /file=xxx  >> 文件名,全路径名称或相对路径名称.
    /sectors=n >> 指定要备份的扇区数.
/restore >> 从文件恢复 PBR,需要 /file= 参数.
    /file=xxx  >> 文件名,全路径名称或相对路径名称.
    /keep_bpb  >> 恢复时保留 BPB 不改动.
/boot_file=xxx >> 指定启动文件,适用于 GRUB4DOS,NTLDR,BOOTMGR.
/v4            >> 安装 SYSLINUX v4.07(默认为 v5.10).

【扇区备份与恢复】
────────────────────────────────
BOOTICE [DEVICE] /sectors [/backup /restore] [parameters]
────────────────────────────────
/backup    >> 备份扇区到文件
/restore   >> 从文件恢复扇区
/lba=n     >> 指定起始扇区号
/sectors=n >> 备份或恢复的扇区数
/file=xxx  >> 文件名,全路径名称或相对路径名称.
/keep_dpt  >> 恢复时保留原磁盘签名和分区表.
/keep_bpb  >> 恢复时保留 BPB 不改动.

【分区及格式化】
────────────────────────────────
BOOTICE [DEVICE] /partitions [operation]
────────────────────────────────
operation:
/backup_dpt=xxx  >> 备份当前磁盘的分区表到文件 xxx
/restore_dpt=xxx >> 从文件 xxx 恢复当前磁盘的分区表
/hide            >> 隐藏 /device= 指定的分区
/unhide          >> 显现 /device= 指定的分区
/eisahide        >> 以 EISA 方式隐藏 /device= 指定的分区
/set_id=XX       >> 修改指定分区 ID
/activate        >> 激活指定分区
/firstpart=n     >> 设置为分区表第一项(与第一项交换,n=1,2,3)
    若 n=0,则按分区起始 LBA 重新排列分区表项。
/assign_letter   >> 为指定分区分配盘符(自动分配第一个可用盘符)
/assign_letter=X >> 为指定分区分配盘符(盘符由用户指定)
/delete_letter   >> 删除指定分区的盘符
/repartition     >> 格式化 USB 移动存储介质
    [/usb-fdd, /usb-zip, /usb-hdd] >> 磁盘结构
    [/vollabel=xxx] >> 指定卷标,最大 11 个字符.
    [/fstype=xxx]   >> /fstype=[fat16, fat32, ntfs, exfat]
    [/startlba=nnn] >> 指定分区起始扇区号

【特殊参数】
────────────────────────────────
1、/quiet
如果使用了 /quiet 参数,BOOTICE 将在执行后不弹出确认对话框。
(除非遇到错误)
例外:为保证安全,格式化操作时将忽略此参数,此时需要手动执行。

2、/nodriveletters
使用此参数时,BOOTICE 将不进行任何盘符检测。

3、/diskinfo
此参数用于输出磁盘信息,类似 RMPARTUSB.EXE。
使用 /file=xxx 来指定输出文件。
/diskinfo /list: 列出磁盘信息;
/diskinfo /find: 以环境变量的形式将磁盘信息输出到文件;
/diskinfo /getdrv /drive=n 以环境变量的形式列出指定磁盘的信息。
如果指定了 /usbonly 参数,仅输出 USB 磁盘信息,否则,列出所有磁盘。

4、/edit_bcd
打开 BCD 编辑窗口进行 BCD 文件编辑。
使用 /easymode 来指定经典模式,否则使用专业模式。
使用 /file=xxx 来指定 BCD 文件,否则编辑系统 BCD。

5、/edit_g4dmenu
编辑 GRUB4DOS 菜单文件,支持 GRLDR 文件和 MENU.LST。
使用 /file=xxx 参数来指定文件。

6、用于 GRUB4DOS 的特别参数
鉴于 GRUB4DOS 的广泛使用,实现了 GRUB4DOS 安装的全部参数:
/v045:安装 0.4.5 版本
/v046:安装 0.4.6 版本
/mbr-bpb:复制第一个 FAT/NTFS 主分区的 BPB 到 MBR
/mbr-disable-floppy:不从软驱搜索grldr
/mbr-disable-osbr:不启动分区表无效的原MBR
/duce:禁止无条件进入控制台
/chs-no-tune:禁止改变磁盘集合参数
/boot-prevmbr-first:优先启动原来的MBR
/preferred-drive=m:优先磁盘号
/preferred-partition=n:优先分区号(LINUX风格)
/hot-key=3920:指定热键,为四个十六进制的字符
      前两个字符为扫描码,后两个字符为ASCII码
/time-out=d:超时时间,秒
/boot_file=xxx:这个参数实现 GRLDR 改名功能







作者: bfgxp    时间: 2022-2-15 19:59
bootice支持命令行的
作者: gailium    时间: 2022-2-15 20:04
带不带fbinst
作者: 879792799    时间: 2022-2-15 20:06
bfgxp 发表于 2022-2-15 19:59
bootice支持命令行的

谢谢大大 能否具体些  我太菜
作者: gailium    时间: 2022-2-15 21:22
879792799 发表于 2022-2-15 20:06
谢谢大大 能否具体些  我太菜

自己查官网命令行,做好fba一键导入
作者: hilsonma    时间: 2022-2-16 00:29
很难用一个批处理去适配所有的电脑,因为要做很多判断。
建议根据不同的电脑实际,分别去学习怎么改变引导。

比如说原来是bootmgr引导的话,最简单的改变就是将原来的bootmgr改名备份,再将g4d的grldr改名为bootmgr替换到c盘根目录就可以变成g4d引导了。
作者: 879792799    时间: 2022-3-5 07:54
请教一下hilsonma大大,我就是想在自己个人电脑上使用能搞定吗?或者你最后建议的方法在win系统环境中bootmgr 能直接替换吗权限不够咋办? 大大指点一下吧!
作者: 窄口牛    时间: 2022-3-5 07:56
你的右键需要添加一个获取管理员权限的选项,获取权限后,只有bcd菜单文件不能删除,其余都可以。
作者: 879792799    时间: 2022-3-5 08:04
本帖最后由 879792799 于 2022-3-5 08:06 编辑
窄口牛 发表于 2022-3-5 07:56
你的右键需要添加一个获取管理员权限的选项,获取权限后,只有bcd菜单文件不能删除,其余都可以。

大大是批处理高手指点一下!

我就想在自己电脑上使用批处理,就是在当前正在运行系统环境中操作  把c盘bootmgr引导方式变成GRUB4DOS引导!省的来回去pe 折腾了!

求大大指教吧?

作者: 窄口牛    时间: 2022-3-5 08:46
本帖最后由 窄口牛 于 2022-3-5 08:47 编辑

bootice简单,选中磁盘,主引导,写入g4d,选0.4.6a就完了。放grldr,menu.lst,用qemu引导测试试一下。
作者: 879792799    时间: 2022-3-5 08:59
窄口牛 发表于 2022-3-5 08:46
bootice简单,选中磁盘,主引导,写入g4d,选0.4.6a就完了。放grldr,menu.lst,用qemu引导测试试一下。

恩恩  谢谢大大!
作者: 879792799    时间: 2022-3-5 20:12
本帖最后由 879792799 于 2022-3-5 21:21 编辑
窄口牛 发表于 2022-3-5 08:46
bootice简单,选中磁盘,主引导,写入g4d,选0.4.6a就完了。放grldr,menu.lst,用qemu引导测试试一下。

依照大大的思路 我搜索到了论坛liuzhaoyzz版主大大的方案3#   完美解决我的问题!!哈哈  大大威武!!!


作者: 879792799    时间: 2022-3-5 21:21
谢谢 窄口牛 bfgxp  hilsonma liuzhaoyzz版主大大  pkups  不点 诸位大大!!
作者: liuzhaoyzz    时间: 2022-3-6 13:01
bootice不完美,会有些问题。我早已更换为grubinst,支持命令行。
grubinst1.4,151kb,freesoft00分享,用于写入grub4dos引导,bootice命令行写入MBR有bug,会导致“优先尝试引导原来的MBR”选项被选中,对于一个空白的新硬盘或者优盘,当PBR是ntldr/bootmgr,而盘上不存在ntldr/bootmgr这一套引导文件的时候,“优先尝试引导原来的MBR”这个选项会导致空白的新硬盘或者优盘无法引导。因此放弃bootice写入方案,改用grubinst1.4命令行写入方案。http://bbs.wuyou.net/forum.php?mod=viewthread&tid=355942

作者: 879792799    时间: 2022-3-6 16:20
liuzhaoyzz 发表于 2022-3-6 13:01
bootice不完美,会有些问题。我早已更换为grubinst,支持命令行。
grubinst1.4,151kb,freesoft00分享, ...

版主大大说的对,的确bootice不稳定!

谢谢指点!!!
作者: nttwqz    时间: 2022-3-6 17:15
liuzhaoyzz 发表于 2022-3-6 13:01
bootice不完美,会有些问题。我早已更换为grubinst,支持命令行。
grubinst1.4,151kb,freesoft00分享, ...

话说,grub4dos没有官方的写入工具吗?只能依靠第三方?
作者: 窄口牛    时间: 2022-3-6 18:02
没有ntdos的,有DOS和Linux的。
作者: liuzhaoyzz    时间: 2022-3-7 09:43
本帖最后由 liuzhaoyzz 于 2022-3-7 09:47 编辑
nttwqz 发表于 2022-3-6 17:15
话说,grub4dos没有官方的写入工具吗?只能依靠第三方?

grub4dos官方写入工具好像是bootlace/bootloce64,他好像是一个DOS/Linux两栖程序,纯DOS是16位的,16位的程序无法在Windows下面运行,DOS程序访问NTFS分区也比较困难,现在估计很少人用纯DOS了。所以大家都用第三方工具,主要有bootice/grubinst。        
作者: nttwqz    时间: 2022-3-7 10:28
liuzhaoyzz 发表于 2022-3-7 09:43
grub4dos官方写入工具好像是bootlace/bootloce64,他好像是一个DOS/Linux两栖程序,纯DOS是16位的,16位 ...

我是添加到bootmgr菜单
作者: liuzhaoyzz    时间: 2022-3-7 10:34
nttwqz 发表于 2022-3-7 10:28
我是添加到bootmgr菜单

添加到bootmgr菜单,只有用微软的bcdedit一个办法。bootice/grubinst的目的是修改硬盘的MBR啊。        
作者: nttwqz    时间: 2022-3-7 10:48
liuzhaoyzz 发表于 2022-3-7 10:34
添加到bootmgr菜单,只有用微软的bcdedit一个办法。bootice/grubinst的目的是修改硬盘的MBR啊。

能启动就好,没那么多讲究,使用感受方面个人感觉后者远没有前者的稳定高
作者: 江南一根葱    时间: 2022-3-14 09:11
最简单直接改grldr成bootmgr,用ntboot引导win
作者: ddnflier    时间: 2022-3-14 09:23
楼主辛苦了
作者: likeyouli    时间: 2022-3-14 09:37
悄悄的问一下:“bootice命令行写入MBR有bug”, ,请问写入uefi引导有bug吗 ?  奇怪,我咋发现不了bug
作者: nowayer    时间: 2023-10-18 15:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: rbwrbw    时间: 2023-10-25 15:20
谢谢了,代码好好研究
作者: sineing168    时间: 昨天 09:32
谢谢分享




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