无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: liuzhaoyzz
打印 上一主题 下一主题

请问下有没有办法用批处理或者命令行小程序确定系统引导分区?

    [复制链接]
13#
 楼主| 发表于 2020-12-24 18:40:15 | 只看该作者
CodeHz 发表于 2020-12-24 17:55
试试
wmic partition where 'BootPartition="TRUE"' get DeviceID,BootPartition

几个硬盘都是true,怎么判断?

QQ拼音截图20201224183905.png (17.92 KB, 下载次数: 380)

QQ拼音截图20201224183905.png
回复

使用道具 举报

12#
发表于 2020-12-24 18:20:58 来自手机 | 只看该作者
先判断到主引导是啥再说。

点评

假设主引导是bootmgr/bootmgfw.efi的话,然后呢?  详情 回复 发表于 2020-12-24 19:11
回复

使用道具 举报

11#
发表于 2020-12-24 18:17:04 | 只看该作者
呵呵,曾经非常迷恋vhd系统,后来写eit的时候就思考过楼主这样的问题,面对各种可能性真的让人头痛,最后还是不管了,直接由bcdboot.exe处理,如果错了再手工处理。

搭车问个问题,有没有简单的命令判断硬盘是否SSD?

点评

clonecd很早写的有个,不是很完善,对于nvme ssd,需要根据关键字“nvme”自己确定,sata ssd的话似乎可以。另外有些版本最多支持19个硬盘分区。 本人写的一个小工具,看看是否能区分移动硬盘和本地U盘(2013-1-28  详情 回复 发表于 2020-12-24 19:03
回复

使用道具 举报

10#
发表于 2020-12-24 17:55:35 | 只看该作者
试试
wmic partition where 'BootPartition="TRUE"' get DeviceID,BootPartition

点评

几个硬盘都是true,怎么判断?  详情 回复 发表于 2020-12-24 18:40
回复

使用道具 举报

9#
 楼主| 发表于 2020-12-24 13:59:20 | 只看该作者
Climbing 发表于 2020-12-24 12:46
Windows是可以直接从软盘映像中启动的,这个就相当于没有启动分区。对于这种情况你怎么办?

而且,这个 ...

        从软盘映像中启动这种极端情况就不用考虑了,我只想研究下从本地硬盘启动的情况。就是bootmgr/bootmgfw.efi→windows的情况。
回复

使用道具 举报

8#
发表于 2020-12-24 12:46:30 | 只看该作者
Windows是可以直接从软盘映像中启动的,这个就相当于没有启动分区。对于这种情况你怎么办?

而且,这个问题主要针对MBR格式的硬盘,所谓的启动分区,一般情况下就是当前激活主分区。

对于UEFI来说,固定的就是ESP分区。

点评

从软盘映像中启动这种极端情况就不用考虑了,我只想研究下从本地硬盘启动的情况。就是bootmgr/bootmgfw.efi→windows的情况。  详情 回复 发表于 2020-12-24 13:59
回复

使用道具 举报

7#
 楼主| 发表于 2020-12-24 11:57:46 | 只看该作者
ahxx 发表于 2020-12-24 11:07
从楼主的问题中学到了知识

厉害,从问题中还能学到知识啊?!
回复

使用道具 举报

6#
 楼主| 发表于 2020-12-24 11:57:18 | 只看该作者
23456 发表于 2020-12-24 10:22
HKEY_LOCAL_MACHINE\SYSTEM\Setup   
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion  ...

HKEY_LOCAL_MACHINE\SYSTEM\Setup
找到了SystemPartition=\Device\HarddiskVolume6,这个不知道怎么跟盘符对应起来?

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
PathName=C:\Windows
SystemRoot=C:\Windows
没有什么有价值的线索。

回复

使用道具 举报

5#
发表于 2020-12-24 11:07:32 | 只看该作者
从楼主的问题中学到了知识

点评

厉害,从问题中还能学到知识啊?!  详情 回复 发表于 2020-12-24 11:57
回复

使用道具 举报

4#
发表于 2020-12-24 10:22:06 | 只看该作者
HKEY_LOCAL_MACHINE\SYSTEM\Setup   
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion   两个研究下看看

点评

HKEY_LOCAL_MACHINE\SYSTEM\Setup 找到了SystemPartition=\Device\HarddiskVolume6,这个不知道怎么跟盘符对应起来? HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion PathName=C:\Windows  详情 回复 发表于 2020-12-24 11:57
回复

使用道具 举报

3#
发表于 2020-12-24 10:16:47 | 只看该作者
你这个就有点像开了多个dhcp,该从哪个dhcp启动的问题了。
不过我也想知道win是怎么知道从哪启动的。比如我在弄一启是从Grub2启动的方案

点评

有点类似  发表于 2020-12-24 11:55
回复

使用道具 举报

2#
 楼主| 发表于 2020-12-24 09:40:15 | 只看该作者
本帖最后由 liuzhaoyzz 于 2020-12-24 09:41 编辑
cchessbd 发表于 2020-12-24 09:36
这个多硬盘多系统的话比较复杂,如果是存在隐藏分区的话,还得显示隐藏分区。然而有些分区格式是linux爱好 ...

确实存在如你所说的潜在隐患。只处理可见分区的话,对于vhd系统,引导分区就需要先手工分配盘符了。

点评

vhd添加到当前系统启动项无需知道启动分区 挂载VHD,比如盘符Y: bcdboot Y:\Windows /d /addlast  详情 回复 发表于 2020-12-24 22:10
回复

使用道具 举报

1#
发表于 2020-12-24 09:36:54 | 只看该作者
这个多硬盘多系统的话比较复杂,如果是存在隐藏分区的话,还得显示隐藏分区。然而有些分区格式是linux爱好者的,还有些分区id是0的隐藏分区。。。说不定一不小心显示出来就给误格式化了(win系统对不识别分区会出来格式化提示)。。。所以说如果多硬盘是比较大的一个工程。简单一点的处理就是只处理可见分区,单硬盘最简单把。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-9 23:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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