无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 25581|回复: 36
打印 上一主题 下一主题

[原创] ===GRUB2一键定制批处理===小白必备利器!

    [复制链接]
跳转到指定楼层
1#
发表于 2016-3-4 17:48:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 2012angelkyo 于 2016-12-23 05:56 编辑



分别点击这三个,即可一键生成,
生成的out\Release\目录下文件,即为你的启动盘根目录文件

链接: https://pan.baidu.com/s/1hsC2SGs
密码: vadp

默认生成的即为此帖发布的
=====GRUB2_EFI&BIOS双启动=====
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=375848&fromuid=457105
(出处: 无忧启动论坛)







评分

参与人数 6无忧币 +26 收起 理由
suge + 1 很给力!
2011cwj6958 + 5 很给力!
不知 + 5 很给力!
freesoft00 + 5
acer669 + 5 赞一个!
有阴也有阳 + 5 很给力!

查看全部评分

推荐
发表于 2016-4-17 23:15:49 | 只看该作者
楼主,我还研究了一下你的一键生成脚本, 不过按您脚本生成的BIOS启动文件超过63扇区,如果写入MBR按你的写法在写入时填入扇区数63有时会启动出错,有时有会相关模块无法加载,

可以改写一下相关命令与配置文件生成小于63扇区的启动镜像与完善的内存memdisk加载盘

生成核心镜像用 grub-mkimage.exe -d i386-pc -C auto -c out\grub-bootstrap-bios-hd.cfg -p /boot/grub -o .\out\core.img -O i386-pc -v biosdisk part_msdos fat ntfs search_fs_file

只嵌入 biosdisk part_msdos fat ntfs search_fs_file 这几个模块,因为比楼主的命令少了 loopback tar 等模块,所以不能在进入 normal 模式前加载memdisk内存影射包,只好把加载memdisk内存影射包相关的模块直接放到硬盘上的grub目录中。修改内嵌配置文件实现

配置文件内容如下:

search.file /boot/grub/grub-bios.cfg root
set prefix=/boot/grub
insmod loopback
insmod tar
loopback memdisk /boot/grub/memdisk.tar
set prefix=(memdisk)/boot/grub
insmod part_gpt
insmod iso9660
insmod memdisk
insmod ext2
insmod blocklist
insmod test
insmod configfile
normal (memdisk)/boot/grub/grub.cfg


还有一个就是楼主没有弄光盘启动的批处理   也可以跟据生成硬盘启动的批处理改来,


copy /B out\boot.img + out\core.img out\g2ldr.mbr

这句改成

copy /B out\lnxboot.img + out\core.img out\g2ldr.mbr

用lnxboot生成的启动映像可以用做光盘启动还可以使用其它加载器加载,比如像GRUB4DOS一样加到XP中的boot.ini文件中启动,使用GRUB4DOS来加载启动,
也可以直接把g2ldr.mbr改名为ntldr或bootmgr放到激活的NFTS分区中直接启动


看楼主也跟我一样是个喜欢拆腾的人,可以看看我的这个贴子  

http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1

点评

但是对于扇区启动文件超过63的情况,用grub-bios-setup 则可以成功加载启动.而不需要用bootice辅助. grub-bios-setup -b i386-pc\boot.img -c out\core.img -d .\ \\.\PHYSICALDRIVE1 这里的\\.\PHYSICALDRIVE1  详情 回复 发表于 2017-1-6 18:35
原来如此,winly的定制就是用lnxboot.img合并,并采用grub4dos的mbr来引导winlydr 这个文件.  详情 回复 发表于 2017-1-6 17:08
回复

使用道具 举报

推荐
发表于 2016-3-8 13:51:33 来自手机 | 只看该作者
那个包连chainloader都没有
回复

使用道具 举报

4#
发表于 2016-3-4 18:57:48 | 只看该作者
能说说这3个批处理之间的细微区别吗?谢谢
回复

使用道具 举报

5#
发表于 2016-3-4 19:21:42 | 只看该作者
我下来研究下
回复

使用道具 举报

6#
发表于 2016-3-4 20:53:26 | 只看该作者
有没有Grub4Dos版的批处理 1键生成ISO镜像
回复

使用道具 举报

7#
 楼主| 发表于 2016-3-4 21:08:52 | 只看该作者
devilma 发表于 2016-3-4 18:57
能说说这3个批处理之间的细微区别吗?谢谢

看名字,你都看不出它们的区别吗?
i386-pc  (传统bios)
i386-efi  (32位EFI)
x86_64-efi  (64位EFI)
你来说说它们之间的区别。。。。
回复

使用道具 举报

8#
发表于 2016-3-4 22:30:36 | 只看该作者
强,很好的文档! 支持一个!
回复

使用道具 举报

9#
发表于 2016-3-4 22:34:59 | 只看该作者
2012angelkyo 发表于 2016-3-4 21:08
看名字,你都看不出它们的区别吗?
i386-pc  (传统bios)
i386-efi  (32位EFI)

别生气,好久没弄这个grub2了。。。
回复

使用道具 举报

10#
发表于 2016-3-5 23:42:50 | 只看该作者
非常好的东西,而且简单明了。
回复

使用道具 举报

11#
发表于 2016-3-6 11:48:28 | 只看该作者
怎么下载到最新的命令,这些都不全。图片是安卓x86的命令

无标题.jpg (92.23 KB, 下载次数: 300)

无标题.jpg
回复

使用道具 举报

12#
 楼主| 发表于 2016-3-6 19:52:19 | 只看该作者
窄口牛 发表于 2016-3-6 11:48
怎么下载到最新的命令,这些都不全。图片是安卓x86的命令

这些命令上面不是写着四个中文大字:可用命令
什么叫不全,连BIOS版都是全的。CentOS7里提取的,还能不全?
只有i386-efi是Ubuntu里提取的
回复

使用道具 举报

13#
发表于 2016-3-6 20:28:33 来自手机 | 只看该作者
initrd  initrd16
回复

使用道具 举报

14#
发表于 2016-3-6 20:29:18 来自手机 | 只看该作者
这两个没有
回复

使用道具 举报

15#
发表于 2016-3-8 11:20:48 | 只看该作者
*acpi: acpi
*all_functional_test: functional_test
*background_image: gfxterm_background
*cat: cat
*cpuid: cpuid
*crc: hashsum
*cryptomount: cryptodisk
*echo: echo
*extract_syslinux_entries_configfile: syslinuxcfg
*extract_syslinux_entries_source: syslinuxcfg
*file: file
*functional_test: functional_test
*gettext: gettext
*hashsum: hashsum
*hdparm: hdparm
*hello: hello
*help: help
*hexdump: hexdump
*inb: iorw
*inl: iorw
*inw: iorw
*keystatus: keystatus
*kfreebsd: bsd
*knetbsd: bsd
*kopenbsd: bsd
*list_env: loadenv
*load_env: loadenv
*loopback: loopback
*ls: ls
*lsacpi: lsacpi
*lspci: lspci
*md5sum: hashsum
*menuentry: normal
*pcidump: pcidump
*probe: probe
*read_byte: memrw
*read_dword: memrw
*read_word: memrw
*regexp: regexp
*save_env: loadenv
*search: search
*serial: serial
*setpci: setpci
*sha1sum: hashsum
*sha256sum: hashsum
*sha512sum: hashsum
*sleep: sleep
*submenu: normal
*syslinux_configfile: syslinuxcfg
*syslinux_source: syslinuxcfg
*terminfo: terminfo
*test_blockarg: test_blockarg
*testspeed: testspeed
*tr: tr
*trust: verify
*verify_detached: verify
*xnu_splash: xnu
*zfskey: zfscrypt
.: configfile
[: test
appleloader: appleldr
authenticate: normal
background_color: gfxterm_background
backtrace: backtrace
badram: mmap
blocklist: blocklist
boot: boot
break: normal
cat: minicmd
cbmemc: cbmemc
chainloader: chain
clear: normal
cmp: cmp
configfile: configfile
continue: normal
coreboot_boottime: cbtime
cutmem: mmap
date: date
distrust: verify
dump: minicmd
eval: eval
exit: minicmd
export: normal
extract_entries_configfile: configfile
extract_entries_source: configfile
extract_legacy_entries_configfile: legacycfg
extract_legacy_entries_source: legacycfg
fakebios: loadbios
false: true
fix_video: fixvideo
fwsetup: efifwsetup
gptsync: gptsync
halt: halt
help: minicmd
initrd16: linux16
initrd: linux
initrdefi: linuxefi
keymap: keylayouts
kfreebsd_loadenv: bsd
kfreebsd_module: bsd
kfreebsd_module_elf: bsd
knetbsd_module: bsd
knetbsd_module_elf: bsd
kopenbsd_ramdisk: bsd
legacy_check_password: legacycfg
legacy_configfile: legacycfg
legacy_initrd: legacycfg
legacy_initrd_nounzip: legacycfg
legacy_kernel: legacycfg
legacy_password: legacycfg
legacy_source: legacycfg
linux16: linux16
linux: linux
linuxefi: linuxefi
list_trusted: verify
loadbios: loadbios
loadfont: font
lscoreboot: cbls
lsefi: lsefi
lsefimmap: lsefimmap
lsefisystab: lsefisystab
lsfonts: font
lsmmap: lsmmap
lsmod: minicmd
lssal: lssal
macppcbless: macbless
mactelbless: macbless
module2: multiboot2
module: multiboot
multiboot2: multiboot2
multiboot: multiboot
nativedisk: nativedisk
net_add_addr: net
net_add_dns: net
net_add_route: net
net_bootp: net
net_del_addr: net
net_del_dns: net
net_del_route: net
net_get_dhcp_option: net
net_ipv6_autoconf: net
net_ls_addr: net
net_ls_cards: net
net_ls_dns: net
net_ls_routes: net
net_nslookup: net
normal: normal
normal_exit: normal
outb: iorw
outl: iorw
outw: iorw
parttool: parttool
password: password
password_pbkdf2: password_pbkdf2
play: play
read: read
reboot: reboot
return: normal
rmmod: minicmd
search.file: search_fs_file
search.fs_label: search_label
search.fs_uuid: search_fs_uuid
setparams: normal
shift: normal
source: configfile
terminal_input: terminal
terminal_output: terminal
test: test
testload: testload
time: time
true: true
usb: usbtest
videoinfo: videoinfo
videotest: videotest
write_byte: memrw
write_dword: memrw
write_word: memrw
xnu_devprop_load: xnu
xnu_kernel64: xnu
xnu_kernel: xnu
xnu_kext: xnu
xnu_kextdir: xnu
xnu_mkext: xnu
xnu_ramdisk: xnu
xnu_resume: xnu
xnu_uuid: xnu_uuid
zfs-bootfs: zfsinfo
zfsinfo: zfsinfo


从这里看出来了奥妙
回复

使用道具 举报

16#
发表于 2016-3-8 14:02:13 | 只看该作者
窄口牛 发表于 2016-3-8 11:20
*acpi: acpi
*all_functional_test: functional_test
*background_image: gfxterm_background

啥奥妙?采访一下
回复

使用道具 举报

17#
 楼主| 发表于 2016-3-8 22:10:44 | 只看该作者
本帖最后由 2012angelkyo 于 2016-3-8 22:18 编辑
窄口牛 发表于 2016-3-8 13:51
那个包连chainloader都没有



弄了几天做出的东西,免费分享出来,你还来给我挑毛病,这个没有,那个没有的。。
CentOS 和 Ubuntu 里提取出来的,为了提这些新版的东西,装了2个Linux系统,如果实在你要说没有,那就是真没有了,找CentOS开发者去,别问我。



请问大神,我笔记本上的Windows 10 用的这条命令启动的,既然没有chainloader,那我是活见鬼了,怎么启动进Windows10的?

回复

使用道具 举报

18#
发表于 2016-3-8 23:39:03 来自手机 | 只看该作者
不敢,最近鼓捣安卓x86,需要那个initrd命令,官网下来的也是这些,看不懂英文
回复

使用道具 举报

19#
发表于 2016-3-8 23:39:21 来自手机 | 只看该作者
不知道怎么就能找下
回复

使用道具 举报

20#
发表于 2016-6-10 18:35:28 | 只看该作者
不错啊,下来研究下,谢谢分享
回复

使用道具 举报

21#
发表于 2016-6-25 00:07:53 | 只看该作者
grub tools 你是怎么编译成exe的~
回复

使用道具 举报

22#
发表于 2016-11-19 01:08:59 | 只看该作者
下载失效了,能补个下载吗?
回复

使用道具 举报

23#
发表于 2017-1-1 16:59:53 | 只看该作者
用上了。谢谢!
回复

使用道具 举报

24#
发表于 2017-1-6 17:08:49 | 只看该作者
linglongx 发表于 2016-4-17 23:15
楼主,我还研究了一下你的一键生成脚本, 不过按您脚本生成的BIOS启动文件超过63扇区,如果写入MBR按你的写 ...

原来如此,winly的定制就是用lnxboot.img合并,并采用grub4dos的mbr来引导winlydr 这个文件.
回复

使用道具 举报

25#
发表于 2017-1-6 18:35:56 | 只看该作者
linglongx 发表于 2016-4-17 23:15
楼主,我还研究了一下你的一键生成脚本, 不过按您脚本生成的BIOS启动文件超过63扇区,如果写入MBR按你的写 ...

但是对于扇区启动文件超过63的情况,用grub-bios-setup 则可以成功加载启动.而不需要用bootice辅助.
grub-bios-setup -b i386-pc\boot.img -c out\core.img -d .\ \\.\PHYSICALDRIVE1
这里的\\.\PHYSICALDRIVE1为windows的U盘设备路径,相当于linux下的/dev/sda
获取物理磁盘标识命令:wmic diskdrive  list brief
回复

使用道具 举报

26#
发表于 2017-2-27 16:14:54 | 只看该作者
写入失败,拒绝访问,这个怎样处理?




回复

使用道具 举报

27#
发表于 2017-9-2 20:56:04 | 只看该作者
本帖最后由 yunyan100 于 2017-9-3 10:58 编辑

无意中发现,lz不错,我也在准备学grub2了,因为毕竟我算是爱好者,并不是很深的it行业,如果有专门定制的东西,我学起来就容易些,我目前组合的pe就是微软efi和grub4dos,人家的efi还不用写引导记录,而且也是grub2不能互转,如果能互转efi和bios就完美了,lz,我通过grub4dos转g2ldr转到grub2,有点偏慢,
回复

使用道具 举报

28#
发表于 2020-7-1 20:12:48 | 只看该作者
谢谢!!!
回复

使用道具 举报

29#
发表于 2020-10-16 03:54:16 | 只看该作者
真正的精品,识货的人太少
回复

使用道具 举报

30#
发表于 2022-1-25 13:37:13 来自手机 | 只看该作者
简单明了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-29 05:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表