Làm thế nào để viết một khu vực khởi động NTFS cục bộ?


8

Một sự thật ít được biết đến: các lĩnh vực khởi động NTFS có các ngôn ngữ khác nhau. Họ có thể nói " BOOTMGR is missing" và " Press Ctrl+Alt+Del to restart", nhưng họ cũng có thể nói điều tương tự trong các ngôn ngữ khác. Điều này phụ thuộc vào ngôn ngữ của hệ thống Windows bạn đang sử dụng khi bạn tạo và định dạng các phân vùng.

Do một phần mềm độc hại gây rối, tôi đã phải viết lại phần khởi động NTFS của ổ đĩa hệ thống của mình, nó đang ẩn một rootkit; Tôi đã làm điều này bằng cách sử dụng bootsect.execông cụ trên DVD cài đặt, cùng DVD cài đặt ngôn ngữ tiếng Ý mà tôi đã sử dụng để cài đặt Windows ban đầu; cũng có một tập tin bootsect.exe.mui đẹp trong thư mục it-IT ở đó. Nhưng công cụ này đã nói tiếng Anh và lĩnh vực khởi động NTFS của tôi giờ cũng nói tiếng Anh (và tất nhiên, trước đây nó không có).

Tôi biết đây là một thứ hoàn toàn là mỹ phẩm, nhưng tôi muốn biết: làm thế nào để tạo một khu vực khởi động NTFS được bản địa hóa (tất nhiên không cần định dạng lại phân vùng trong một hệ thống được bản địa hóa)?


3
Tôi nghi ngờ fixmbr từ bảng điều khiển phục hồi trong cài đặt của bạn có thể được bản địa hóa. Điều đó có lẽ nên làm điều đó.
Một chú lùn

(+1) Câu hỏi rất hay btw, Massimo. :) Đã thêm vào danh sách favs của tôi.
Một chú lùn

1
Không có "fixmbr" trong Windows 7 ... những thứ gần nhất là bootsect.exe và bootrec.exe; Tôi đã thử sử dụng chúng từ DVD cài đặt ( được bản địa hóa), nhưng kết thúc với một khu vực khởi động tiếng Anh. Tôi sẽ thử lại từ Recovery Console.
Massimo

Đã kiểm tra cả hai, chạy chúng từ Môi trường phục hồi Windows được bản địa hóa. Cả bootect.exe và bootrec.exe sẽ tạo ra các khu vực khởi động bằng tiếng Anh.
Massimo

Có hai cách để sử dụng bốt. Bạn có thể sử dụng ký tự ổ đĩa một mình và bộ tải khởi động sẽ được ghi vào phân vùng hoặc bạn có thể sử dụng tùy chọn / mbr ghi nó vào MBR. Bạn đã thử cả hai? Và thẳng thắn, ngôn ngữ có thực sự quan trọng? Chỉ có một vài chuỗi trong mã bộ tải khởi động nhỏ đó và bạn thậm chí không nhìn thấy chúng hầu hết thời gian. Tôi giả sử menu lựa chọn hệ điều hành của bạn hiển thị chính xác?
billc.cn

Câu trả lời:


1

Thông điệp khác nhau đến từ những nơi khác nhau. Nhưng nếu bạn thay thế các tệp khởi động, như bootmgr, BCD (từ một hệ thống có cùng cấu hình khởi động), bootsect.dat, boot.sdi hoặc bất kỳ tổ hợp tệp nào bạn có, tôi nghĩ bạn sẽ tìm thấy các tin nhắn trong ngôn ngữ bạn chọn


Bộ tải khởi động nói ngôn ngữ chính xác; đó là khu vực khởi động không.
Massimo

Nói đúng ra, mã trong VBR cũng là một bộ tải khởi động.
JdeBP

bộ tải khởi động nằm trong khu vực khởi động. boot sector không mã, chúng là vị trí.
jiggunjer

1

Trên Vista của tôi, khu vực khởi động bằng tiếng Anh, mặc dù tôi có hệ thống Ba Lan. Tôi đã cài đặt từ các đĩa Microsoft gốc. Có lẽ khởi động của bạn là một OEM bị hack.


Hình ảnh Microsoft ISO chính thức, được tải xuống từ MSDN.
Massimo

Của tôi là chính thức quá.
kinokijuf

0

Khu vực khởi động khá nhỏ (chỉ 512 byte), vì vậy bạn chỉ cần tháo rời nó (sử dụng mọi thứ từ NDISASM sang IDA), sửa các tin nhắn và sau đó lắp lại (NASM sẽ làm lại).

Điều này đòi hỏi một chút kỹ năng lập trình, và cũng có thể đọc một số sách giáo khoa trình biên dịch x86, nhưng chắc chắn là doabe nếu bạn đủ phấn đấu.


2
không phải 512, mà là 446 byte. các byte khác được dành riêng cho bảng phân vùng.
Eir Nym

Bản chất của nhận xét này là đúng, nhưng những tuyên bố mà nó đưa ra thì không. Bộ khởi động không phải là MBR. MBR là 512 byte (không có bảng phân vùng), trong khi bộ khởi động ít nhất là một đơn hàng hoặc hai độ lớn lớn hơn và phức tạp hơn đáng kể để thiết kế ngược và hiểu. Theo hiểu biết của tôi, không có nghiên cứu hoàn chỉnh nào về trình khởi động NTFS có sẵn cho các phiên bản Windows mới nhất. (Tuy nhiên, tôi đã nêu lên câu trả lời này.)
Mahmoud Al-Qudsi

@ MahmoudAl-Qudsi bootsect.execoi mã trong MBR và trong VBR là bộ tải khởi động. Vấn đề ngôn ngữ mà OP đang đề cập thực sự nằm ở phần VBR lớn hơn.
jiggunjer

0

1) Cắm ổ đĩa chứa phân vùng NTFS vào máy chạy linux, sử dụng trình chỉnh sửa đĩa / hex hoặc lệnh dd; hoặc 2) Khởi động vào một số linux trên CD / DVD, sau đó ditto; hoặc 3) Thực hiện tương tự với hệ thống Windows, nhưng âm lượng NTFS cần chỉnh sửa phải được ngắt trong Windows Vista trở lên. Bạn có 4 chuỗi thông báo, mã hóa ascii, với độ lệch bắt đầu (tương đối bù 100h trong Bản ghi khởi động âm lượng) được cung cấp theo byte 1F8h qua 1FBh. Khu vực từ offset 180h qua offset 1F7h dường như có sẵn cho các tin nhắn này. Có một bản sao của Volume Boot Record ở cuối phân vùng.


0

Bạn có thể thử điều này, (nếu cài đặt windows của bạn nằm trong phân vùng C:)

bcdboot c:\Windows /l it-it

hoặc, với bcdedit

bcdedit /set {bootmgr} locale it-IT
bcdedit /set locale it-IT

hoặc, với bcdedit tùy thuộc vào cấu hình của bạn (biết cấu hình của bạn bằng cách nhập bcdedit)

bcdedit /set {default} it-IT
bcdedit /set {current} it-IT 

bạn có thể tìm tài liệu về lệnh 'bcdboot' tại đây:

http://technet.microsoft.com/en-us/l Library / cc731245% 28WS.10% 29.aspx

và 'bcdedit' ở đây:

http://technet.microsoft.com/fr-fr/l Library / cc709667% 28WS.10% 29.aspx

Hãy cho chúng tôi biết cái nào phù hợp với bạn, nếu có ..!


Cả hai lệnh này đều ảnh hưởng đến trình quản lý khởi động, không phải khu vực khởi động ...
Massimo
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.