请问存在类似于[diskgenius.efi]或者[分区助手.efi]这种东西嘛?

2022-09-29 20:37:38 +08:00
 7RTDKSAK

前情提要:

当目标电脑上的硬盘的分区表存在错误的时候,灌进 U 盘中的 WINPE 就大概率无法在该电脑上启动

此时解决办法有:

1.启动 DOS,修复分区表错误后再从 WINPE 启动---但是 UEFI ONLY 的设备又怎么办呢?
2.启动 LINUX LIVE,使用 GPARTED 之类的程序修复分区表错误---这样可以接受,但是未免杀鸡用牛刀
3.拆硬盘,挂载到正常运行地系统中修复分区表错误---先有鸡还是先有蛋?

总之就是,此时已经不能指望 WINPE 了,你得想其它办法先修复分区表才能启动 WINPE

联想到已经存在[EFI SYSTEM CLONER]和[联想一键还原 UEFI 版]这种 EFI APP,单文件,可以直接被电脑固件执行,也可以被 GRUB2 链式加载,所以问问大家有没有类似地磁盘 /分区管理方面的 EFI APP?

找到一款 GDISK.EFI,但是似乎作者已经弃坑了,而且不能读写 FS

2860 次点击
所在节点    Linux
22 条回复
timpaik
2022-09-29 20:53:48 +08:00
"目标电脑上的硬盘的分区表存在错误的时候,灌进 U 盘中的 WINPE 就大概率无法在该电脑上启动"
???
u 盘中的 winpe 和目标电脑的硬盘分区表有什么关系吗??
就是目标电脑没有硬盘,winpe 也应该能正常启动才是。
shansing
2022-09-29 21:01:48 +08:00
同蹲一个解决方案。我也遇到过 WinPE 检测到分区表错误就拒绝启动的情况。
sky96111
2022-09-29 21:02:40 +08:00
PE 是运行在内存上的系统,别说分区表故障,硬盘完全烂了都能启动
vmebeh
2022-09-29 21:03:40 +08:00
diskgenius 可以生成 pe 版,把那个版本的启动项写到 bcd 里面,

或者用 windows 启动盘启动,安装界面按 Shift+F10 打开命令提示符,可以直接运行 diskgenius ,可能会提示确实 oledlg.dll ,从正常系统拷一个放在 dg 目录即可解决
ysc3839
2022-09-29 21:07:45 +08:00
7RTDKSAK
2022-09-29 21:10:25 +08:00
@timpaik

这似乎是微软的设计问题,也就是说是 feature 而不是 bug

1.如果想要 WINPE 在引导期间不读写目标电脑上的硬盘(因为写硬盘对于数据抢救就是大风险),需要额外魔改

2.如果想要 WINPE 忽略目标电脑上的硬盘的分区表错误而不是拒绝启动,需要额外魔改

我也不知道为何要这样设计
7RTDKSAK
2022-09-29 21:15:15 +08:00
@vmebeh 老哥你说得这个我知道,但是问题又回到原点了啊?WINDOWS 原版启动盘和 DG 生成地 WIM 都是 PE 啊,都不能保证在分区表有错地情况下启动啊

@ysc3839 我看看先,谢谢!
qbqbqbqb
2022-09-29 21:47:09 +08:00
@timpaik
@sky96111
“没有硬盘、硬盘完全烂了”和分区表错误是两回事。
有的分区表错误会导致 DOS, Windows 系列的系统在识别到这个硬盘开始读取其分区信息时出现死循环等问题。只要开机的时候电脑上存在这样的硬盘能被 PE 或 DOS 读到,就启动不了任何 PE 或 DOS (故障盘不是启动盘,也不影响故障的产生)。
可以了解一下“硬盘逻辑锁”“江民逻辑炸弹”。
qbqbqbqb
2022-09-29 21:52:21 +08:00
有个 GParted Live ,就是一个专门打包了 GParted 的小型 Linux live 系统,不到 500M.
timpaik
2022-09-29 22:02:33 +08:00
@qbqbqbqb 那要不然试试拔掉硬盘再启动,再装上故障盘?那不就能正常启动了么,只要一台电脑,一个普通 winpe
kokutou
2022-09-29 22:02:56 +08:00
grub4dos efi 版本,关掉安全启动就可以用。
但是操作分区表的 efi 就不知道了。
efi 版本的 g4d 可以启动哪些东西没仔细试过。只是试过可以兼容传统 g4d 的菜单,可以启动 efi 版本的 memtest86
7RTDKSAK
2022-09-29 22:46:49 +08:00
@qbqbqbqb 对的,如果实在找不到,我也就定这一款了


@timpaik 拔盘可以,但是不那么方便,还是优先考虑软件的方案


@kokutou 我是用的 GRUB2 生成地***.efi 来引导,和你说得这个差不多吧
autoxbc
2022-09-29 23:44:09 +08:00
这看起来就是 PE 的 bug ,读不了可以不读,卡死怎么都说不通
Osk
2022-09-29 23:50:55 +08:00
硬盘导致 PE 无法启动是正常现象.
硬盘有问题导致 pe 卡死...
甚至还有 ntfs.sys 蓝屏...

用 linux 救火是常见操作.

一般遇到这类问题时, 我会选择启动个 ubuntu server 的 ISO.
选择 ubuntu 的原因:不用关安全启动.
不选择 ubuntu 桌面版的原因, 这糟心玩意儿自动挂载硬盘卷.


反正 ubuntu 和 win pe 能共存, 不就是 2GB 的空间占用吗, 占的起.
Osk
2022-09-29 23:56:28 +08:00
如果你非要纠结需要一个 .efi 文件启动, 也许可以这样:

自己编译一个 kernel, 砍掉不需要的驱动, 减小体积.
使用 busybox 制作一个最小 /.
静态编译需要的工具: ntfs-3g, exfatprog, dosfstools, fdisk, gptfdisk, smartmontool 等.
将 busybox 的 / 和工具打包成一个 initramfs.
使用 systemd-boot 将 kernel 和 initramfs 打包成一个 efi 文件.


客官您要的 "分区助手.efi" 做好了
ysc3839
2022-09-29 23:59:31 +08:00
@Osk 都不需要自己编译,用 OpenWrt 的 ImageBuilder 打包就好了。alpine 不知道有没有类似工具。不嫌体积大的话弄个 Arch ISO 。
Osk
2022-09-30 00:04:47 +08:00
@ysc3839 ArchLinux 至今没有整微软的安全启动签名.... ubuntu/fedora 这些有
7RTDKSAK
2022-09-30 01:20:44 +08:00
@Osk #15 这在我的下一步计划之中,要搞一个 LINUX RAMOS,启动好了就拔 U 盘,哈哈哈
knives
2022-09-30 08:40:31 +08:00
自从开始用 ventoy 后,就再也没灌过 U 盘了,直接通过 ventoy 引导 PE/Linuex 的 ISO 了事。
gearfox
2022-09-30 10:14:43 +08:00
ventoy 确实是个好软件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/883893

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX