我正在尝试编写一个 BAT 脚本来生成 grub4dos menu.lst 文件。
menu.lst 文件中的启动项通常包含如下行:
root (hdx,y)
其中 x 是硬盘编号(第一个磁盘 hd0),y 是磁盘上的分区编号(第一个分区为 0)。如何找到 %systemdrive% 的磁盘和分区编号?
该脚本将在 Windows Vista 或 7 下运行。
答案1
WMIC LogicalDisk GET param1, param2 (etc.)
我不确定是否存在这样的分区号。您可以检查的 WMI 类(例如 LogicalDisk)列表如下:微软
如果您使用的是 Windows 7,则 Powershell 替代方案是:
Get-WmiObject Win32_LogicalDisk | Where {$_.DriveType -eq "3"} | Select param1, param2
编辑:有一个特定分区的类:Win32_DiskPartition,它包含一个Index
属性。该Name
属性将为您提供磁盘和分区 ID(但您必须对其进行解析)。