|
BUG反馈:
启动硬盘上的Linux系统,需要查找内核所在分区,以及向内核传递参数。kennel (hdx,y)/vmlinuz root=/dev/sda? #或root=LABEL=%label1% 或 root=UUID=%uuid_1%
内核参数问题:
1、root=/dev/sda?这个在分区不变时没问题,但在改变分区个数(增加或减少)时,该值会发生变化,需要重新确定。
2、root=LABEL=%label1% 这个在不改变卷标时没问题,但改变或删除卷标会发生问题。
3、 root=UUID=%uuid_1%这个是最稳定的,只要不重新格式化该分区,UUID是确定的。
比如:
1、通过在安装好的linux分区建立一个空文件(如:centos9.txt),查找该文件,确定(hdx,y),如(hd0,7),再确定该分区卷标或UUID传递给Linux内核。
2、通过查找卷标,确定(hdx,y),如(hd0,7),并将卷标传递给Linux内核。
3、通过查找UUID,确定(hdx,y),如(hd0,7),并将UUID传递给Linux内核。
4、如上,root=/dev/sda?并不好用,因为是需要预先确定,而且GNU Grub2和grub4dos以及Linux内核对分区表示方法并不一致。
现在可以通过GNU Grub2的search和probe组合可以实现上述目的,而grub4dos for legacy bios最新版用find和vol以及uuid命令时发生问题,有BUG的。
因反复对分区改变,改变大小或增加分区,分区增加到10多个,grub4dos的vol和uuid命令发生错误!图片发不上来,文字描述一下!
find命令正常,可以发现(hd0,0)到(hd0,13)所有分区,--set-root是正常的。
而vol和uuid命令发生错误,可以发现(hd0,0)到(hd0,9)这些分区,而后面的分区成了如:(hd0,;),(hd0,<),(hd0,=),并丢了一个分区。也就是说这两个命令对第十一个(含)以后的分区返回的分区值是错误的。如需要截图,加QQ:1121621061,可以反馈截图。
希望修正错误!
另外,在legacy bios下的grub4dos已很好用,个人认为grub4dos for UEFI开发重点应放在和原grub4dos重要功能相同或相似功能上面,比如像a1ive grub2的map功能,以及网络功能的开发。而目前开发者对windows的VHD、wim文件的支持花费了大量精力,其实对wim的支持能够利用ipxe的wimboot即可,因为windows对自身的vhd和wim支持已相当完善,只是菜单不好看需要编辑BCD而已。也可以增加或借用ventoy的linux vhd的支持。
|
|