Windows PE 3.0 phát hiện thiết bị nào được khởi động từ


1

Tôi đang tạo một đĩa khởi động tùy chỉnh cho công việc bằng Windows PE 3.0. Tôi cần có khả năng cho biết hệ thống đã được khởi động từ ổ đĩa nào. nó có thể là đĩa CD hoặc ổ USB. Trước đây, tôi đã tìm kiếm một tệp trên thư mục gốc chứa một số cấu hình tùy chỉnh của chúng tôi. tuy nhiên điều đó đang trở nên hơi lộn xộn.

Về cơ bản, ngoài Windows PE, ổ đĩa hoặc đĩa còn có các tập lệnh và công cụ khác. Tôi cần kết nối lại ổ USB hoặc DVD với U: \ Drive, để giữ cho mọi thứ ổn định.

Về cơ bản,

Diskpart.exe
Select Volume $X
assign Letter=U
Exit

Tôi chỉ cần tìm ra cách xác định $ X nhỏ khó chịu đó.

Câu trả lời:


3

Trong cuộc tranh luận của tôi về việc liệu điều này thuộc về đây hay StackOverflow , tôi đã tìm thấy một câu trả lời tuyệt vời trên StackOverflow (điều đó không bao giờ được đánh dấu là câu trả lời, nhưng nó hoạt động hoàn hảo với tôi!

Ngay bây giờ, tôi quét một loạt các ký tự ổ đĩa, tìm kiếm hoặc một tập tin cấu hình, điều này sẽ rút ngắn mã mạnh mẽ! Về cơ bản, truy vấn sổ đăng ký trong PE cho HKLM \ HỆ THỐNG \ CurrentControlset \ Control \ PERamDiskSourceDrive

Tôi hình dung tôi cũng sẽ trả lời tất cả ở đây, vì vậy những người khác đang lùng sục trên mạng có thể tìm thấy nó tốt hơn ..

Chỉnh sửa: đối với những người tìm kiếm điều tương tự, tôi đã thêm phần này vào startnet.cmd của mình trong windows \ system32 trong windows PE:

REM Get Boot Drive from WinPE Registry
for /f "tokens=2,*" %%a in ('reg query HKLM\system\currentcontrolset\control /v PEBootRamDiskSourceDrive ^| find /i "PEBootRamDiskSourceDrive"') do set driveLtr=%%b 
REM Setup text file on ram drive to pass to diskpart commands
SET MountScript=X:\MountScript.TXT
ECHO SELECT VOLUME %driveLtr% > %MountSCRIPT%
ECHO assign letter=U noerr >> %MountSCRIPT%
DISKPART /S %MountSCRIPT%
REM Don't really need to cleanup, since its a ramdisk, but trying to be nice
DEL %MountSCRIPT%

0

Ngoài ra, bạn có thể làm như sau:

:: Is 'C' assigned to the boot drive?
if EXIST c:\windows\system32\startnet.cmd (
    echo select volume c > x:\reassignUSB.txt
    echo assign letter=d >> x:\reassignUSB.txt
    echo|set /p=Reassigning USB letter...& diskpart /s x:\reassignUSB.txt >nul
)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.