(+84) 463.28.7979

Tìm hiểu Windows boot environment trong Windows Vista Phần Cuối


Sử dụng trình soạn thảo BCD

>> Tìm hiểu Windows boot environment trong Windows Vista Phần I

Trình soạn thảo BCD (BCDedit. Exe) là công cụ chỉ cho phép bạn truy cập trực tiếp và quản lý việc lưu trữ dữ liệu BCD. Bạn có thể sử dụng bcdedit để xem các mục trong BCD theo các bước sau:

1. Click Start, chọn All Programs và sau đó click Accessories.

2. Click chuột phải vào Command Prompt và sau đó chọn “Run as Administrator”.

3. Gõ bcdedit tại dấu nhắc.

Windows Boot Manager
——————–
Identifier: {bootmgr}
Type: 10100002
Device: partition=C:
Description: Windows Boot Manager
Locale: en-US
Inherit options: {globalsettings}
Boot debugger: No
Default: {current}
Resume application: {23432149-a32e-132a-ba28-ed8322b34395}
Display order: {ntldr}
{current}
Timeout: 30

Windows Legacy OS Loader
————————
Identifier: {ntldr}
Type: 10300006
Device: partition=C:
Path: \ntldr
Description: Legacy (pre-Longhorn) Microsoft Windows Operating System
Boot debugger: No

Windows Boot Loader
——————-
Identifier: {current}
Type: 10200003
Device: partition=D:
Path: \Windows\system32\winload.exe
Description: Microsoft Windows
Locale: en-US
Inherit options: {bootloadersettings}
Boot debugger: No
Windows device: partition=D:
Windows root: \Windows
Resume application: {23432149-a32e-132a-ba28-ed8322b34395}
No Execute policy: OptIn
No integrity checks: Yes
Kernel debugger: No
EMS enabled in OS: No

Có 3 phần trong BCD:

– Windows Boot Manager.

– Windows Legacy OS loader.

– Windows Boot Loader.

Windows Boot Loader có các tham số kiểm tra trạng thái của chính sách “No Execute” (NX), kiểm tra tính toàn vẹn, chế độ nhân gỡ lỗi và Emergency Management Services (EMS). Mặc dù Windows Boot Manager, Windows Legacy OS Loader và Windows Boot Loader là các loại chính của mục điều khiển khởi động, BCD cũng lưu trữ thông tin về tiện ích tiền khởi động môi trường hệ thống và các thiết lập. Nếu bạn muốn xem mục BCD cho các tiện ích và các cài đặt bạn sử dụng dòng lệnh sau:

bcdedit /enum all /v

Đây là dòng lệnh liệt kê các mục BCD, bất kể tình trạng hiện thời của chúng và sanh sách trọng chế độ Verbose Mode.

Windows Boot Manager
——————–
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device partition=C:
description Windows Boot Manager
locale en-US
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
bootdebug No
default {263bf496-4ab4-11db-b478-c0671802252f}
resumeobject {263bf497-4ab4-11db-b478-c0671802252f}
displayorder {263bf496-4ab4-11db-b478-c0671802252f}
{0c728e1b-d009-11da-b18b-9dc1d02cdda0}
toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout 30

Windows Boot Loader
——————-
identifier {0c728e1b-d009-11da-b18b-9dc1d02cdda0}
device unknown
path \Windows\system32\winload.exe
description Microsoft Windows
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
bootdebug Yes
osdevice unknown
systemroot \Windows
resumeobject {0c728e1c-d009-11da-b18b-9dc1d02cdda0}
nx OptIn
quietboot No
debug No
ems No

Windows Boot Loader
——————-
identifier {263bf496-4ab4-11db-b478-c0671802252f}
device partition=C:
path \Windows\system32\winload.exe
description Microsoft Windows Vista
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
osdevice partition=C:
systemroot \Windows
resumeobject {263bf497-4ab4-11db-b478-c0671802252f}
nx OptIn

Resume from Hibernate
———————
identifier {0c728e1c-d009-11da-b18b-9dc1d02cdda0}
device unknown
path \Windows\system32\winresume.exe
description Windows Resume Application
locale en-US
inherit {1afa9c49-16ab-4a5c-901b-212802da9460}
bootdebug Yes
filedevice unknown
filepath \hiberfil.sys
pae No
debugoptionenabled No

Resume from Hibernate
———————
identifier {263bf497-4ab4-11db-b478-c0671802252f}
device partition=C:
path \Windows\system32\winresume.exe
description Windows Resume Application
locale en-US
inherit {1afa9c49-16ab-4a5c-901b-212802da9460}
filedevice partition=C:
filepath \hiberfil.sys
pae No
debugoptionenabled No

Windows Memory Tester
———————
identifier {b2721d73-1db4-4c62-bf78-c548a880142d}
device partition=C:
path \boot\memtest.exe
description Windows Memory Diagnostic
locale en-US
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
badmemoryaccess Yes
bootdebug No

Windows Legacy OS Loader
————————
identifier {466f5a88-0af2-4f76-9038-095b170dc21c}
device partition=C:
path \ntldr
description Legacy (pre-Longhorn) Microsoft Windows Operating System

bootdebug No

EMS Settings
————
identifier {0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9}
bootems Yes

Debugger Settings
—————–
identifier {4636856e-540f-4170-a130-a84776f4c654}
debugtype Serial
debugport 1
baudrate 115200

RAM Defects
———–
identifier {5189b25c-5558-4bf2-bca4-289b11bd29e2}

Global Settings
—————
identifier {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
inherit {4636856e-540f-4170-a130-a84776f4c654}
{0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9}
{5189b25c-5558-4bf2-bca4-289b11bd29e2}

Boot Loader Settings
——————–
identifier {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}

Resume Loader Settings
———————-
identifier {1afa9c49-16ab-4a5c-901b-212802da9460}
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}

Phần trên hiển thị chế độ Verbose Mode. Điều quan trọng cần lưu ý rằng chế độ Verbose mode cung cấp giá trị thực tế của Globally Unique Identifiers (GUIDS) cần thiết để thao tác trong mục lưu trữ dữ liệu BCD.

Như bạn có thể thấy trong danh sách trên, có một số mục bổ sung. Mỗi mục có một mục đích cụ thể và danh sách các giá trị mà bạn có thể thiết lập bao gồm sau:

Resume from Hibernate

Resume from Hibernate cho thấy cấu hình hiện tại cho tính năng khôi phục trong Windows Vista. Tiện ích khởi động hệ thống tiếp tục điều khiển là Wỉnesume. Exe mà trong ví dụ này được lưu trong thư mục C:\ Windows\system32. Dữ liệu ngủ đông (Hibernate) như được xác định trong tham số đường dẫn tập tin và được lưu trữ trọng file hirerfil.sys và nằm trong thư mục gốc của hệ điều hành (nằm ở ổ C:\ như trong ví dụ này). Bởi vì tính năng tiếp tục làm việc khác nhau nếu máy tính có Physical Address Extension (PAE) và kích hoạt gỡ lỗi. Các tuỳ chọn này được theo dõi bởi PAE và các thông số Debugoptionenabled.

Windows Memory Test

Windows Memory Test hiển thị cấu hình hiện tại của tiện ích Windows Memory Diagnostics. Tiện ích boot hệ điều hành điều khiển chuẩn đoán bộ nhớ là Memtest. Exe. Trong ví dụ này Memtest. Exe được lưu giữ trong thư mục C:\Boot. Bởi vì mặc định công cụ chuẩn đoán bộ nhớ được thiết kế để dò tìm Bad memory. Mặc định thông số Badmemoryaccess đuợc thiết lập Yes. Bởi công cụ chuẩn đoán bộ nhớ làm việc khác nhau nếu máy tính kích hoạt gỡ lỗi, Bootdebug được sử dụng để kiểm tra trạng thái lỗi của khởi động.

EMS Settíng

EMS Settings hiển thị cấu hình sử dụng khi khởi động với dịch vụ Emergency Management. Cá nhân Windows Boot Loader điều khiền mục EMS dù đã được kích hoạt.

Debugger Setting

Debugger Setting hiển thị cấu hình sử dụng khi khởi động với chế độ Debugger được bật. Cá nhân Windows Boot loader điều khiển mục gỡ rối cho dù đã được kích hoạt. Gỡ rối khi khởi động được bật, bộ Debugtype các loại gỡ lỗi như Serial, 1.394 hoặc USB. Với gỡ lỗi Serial, Debugport xác định cổng nối tiếp đang được sử dụng như cổng Baudrate và xác định tốc độ truyền sẽ được sử dụng để gỡ lỗi. Với 1.394 bạn có thể sự dụng các kênh để thết lập gỡ lỗi. Với USB, bạn có thể sử dụng Targetname để thiết lập tên USB được sử dụng gỡ lỗi.

3. Quản lý Boot Configuration Data.

Bạn có thể sử dụng BCD Editor để add, modify và delete đối tượng trong BCD. Mặc dù tôi sẽ thảo luận về các công việc lien quan trong phần tiếp theo, chỉ những người dùng có kinh nghiệm nên thử sửa đổi BCD. Nếu bạn làm lỗi, máy tính của bạn có thể không thể khởi động được nữa.

Thay đổi thiết lập hệ điều hành mặc định

Để thay đổi thông số thiết lập hệ điều hành mặc định, bạn có thể sử dụng thông số /Default của bcdedit. Cú pháp thông số này như sau:

Bcdedit /default bootldrid

Khi bootldrid là GUID của boot loader được sử dụng, bạn có thể boot để cài đặt cụ thể Windows Vista hoặc hệ điều hành khác sau bằng cách xác định rõ bộ nạp khởi động liên quan. Khi bạn xem chi tiết của BCD, các định danh cho Windows Boot Loader cụ thể được liệt kê với mục nhập của mình, chẳng hạn như:

Windows Boot Loader
——————-
identifier {0c728e1b-d009-11da-b18b-9dc1d02cdda0}
device unknown
path \Windows\system32\winload.exe
description Microsoft Windows
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
bootdebug Yes
osdevice unknown
systemroot \Windows
resumeobject {0c728e1c-d009-11da-b18b-9dc1d02cdda0}
nx OptIn
quietboot No
debug No
ems No

Windows Boot Manager ngoài ra còn liệt khê Windows Vista hoặc hệ điều hành khác bằng cách xác định trong trường displayorder.

Windows Boot Manager
——————–
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device partition=C:
description Windows Boot Manager
locale en-US
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
bootdebug No
default {263bf496-4ab4-11db-b478-c0671802252f}
resumeobject {263bf497-4ab4-11db-b478-c0671802252f}
displayorder {263bf496-4ab4-11db-b478-c0671802252f}
{0c728e1b-d009-11da-b18b-9dc1d02cdda0}
toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout 30

Nếu bạn muốn sử dụng hệ điều hành trước Windows Vista là mặc định, bạn có thể sử dụng danh tính của Windows Legacy OS Loader.

Windows Legacy OS Loader
————————
identifier {466f5a88-0af2-4f76-9038-095b170dc21c}
device partition=C:
path \ntldr
description Legacy (pre-Longhorn) Microsoft Windows Operating System

Bạn có thể thiết lập Ntldr như sau:

bcdedit /default {466f5a88-0af2-4f76-9038-095b170dc21c}

Thay đổi thời gian Timeout mặc định

Bạn có thể thay đổi giá trị mặc định của thời gian timeout bằng cách sử dụng tham số sau: /timeout. Thiết lập tham số /timeout với số giây như sau:

Bcdedit /timeout 30

Nếu bạn thiết lập thông số bằng 0 giây, hệ điều hành sẽ tự động khởi động vào hệ điều hành mặc định đã chọn.

Kích hoạt Physical Address Expansion

Physical Address Expansion(PAE) là tính năng cho phép máy tính có bộ vi xử lý X86 được hỗ trợ nhiều hơn 4GB RAM. Hiệu quả mở rộng của địa chỉ bít là từ 32 lên đến 36.
Nếu bạn muốn kích hoạt PAE thông qua BCD, bạn có thể sử dụng dòng lệnh với cú pháp sau:

Bcdedit /set bootldrid pae paeState

Nơi mà Bootldrid được xác nhận của hệ điều hành nó sẽ sử dụng PAE và PAESTate chỉ rõ bạn muốn sử dụng PAE như thế nào:

Default

Nếu bạn thiết lập PAEState là Default, hệ điều hành sẽ sử dụng cấu hình mặc định của PAE.

ForceEnable

Nếu bạn thiết lập với ForceEnable, hệ điều hành sẽ sử dụng PAE.

ForceDisable

Nếu bạn thiết lập ForceDisable hệ điều hành sẽ không sử dụng PAE.
Điều này có nghĩa là bạn có thể kích hoạt PAE của hệ điều hành bằng Boot Loader:

Windows Boot Loader
——————-
identifier {0c728e1b-d009-11da-b18b-9dc1d02cdda0}

Sử dụng dòng lệnh sau:

bcdedit /set {0c728e1b-d009-11da-b18b-9dc1d02cdda0} pae forceenable

Thay đổi thứ tự hiển thị hệ điều hành

Bạn có thể thay đổi thứ tự hiển thị hệ điều hành của Boot Manager kết hợp với Windows Vista hoặc hệ điều hành khác với tham số /Displayorder.

Windows Boot Loader
——————-
identifier {0c728e1b-d009-11da-b18b-9dc1d02cdda0}

Windows Boot Loader
——————-
identifier {263bf496-4ab4-11db-b478-c0671802252f}

Để thay đổi bạn sử dụng dòng lệnh sau:

bcdedit /displayorder {263bf496-4ab4-11db-b478-c0671802252f}
{0c728e1b-d009-11da-b18b-9dc1d02cdda0}

Bạn có thể thiết lập một hệ điều hành cụ thể như mục đầu tiên bằng cách sử dụng /addfirst với /displayorder như sau:

bcdedit /displayorder {263bf496-4ab4-11db-b478-c0671802252f} /addlast

Bạn có thể thiết lập một hệ điều hành cụ thể như mục cuối cùng bằng cách sử dụng

/addlast với /displayorder như sau:

bcdedit /displayorder {263bf496-4ab4-11db-b478-c0671802252f} /addlast

Thay đổi Restart Boot Sequence

Nếu bạn muốn khởi động một hệ điều hành cụ thể một thời gian và sau đó trở lại thứ tự khởi động mặc định, bạn có thể sử dụng tham số /Bootsequence để làm điều này. Thực hiện theo tham số với hệ điều hành mà bạn muốn khởi động sau khi khởi động lại máy tính, chẳng hạn như:

bcdedit /bootsequence {0c728e1b-d009-11da-b18b-9dc1d02cdda0}

Bây giờ khi bạn khởi động lại máy tính, máy tính sẽ thiết lập hệ điều hành cụ thể như là mặc định cho lần khởi động lại. Nếu bạn khởi động lại máy tính lần nữa, máy tính sẽ sử dụng thứ tự khởi động mặc định.

4. Quản lý Boot Sector của phân vùng ổ cứng

Boot Sector Configurator (BootSect.exe) là công cụ bạn có thể sử dụng để quản lý Master Boot Record trong máy tính chạy hệ điều hành Windows Vista. Trước khi bạn thử để cài đặt một phiên bản cũ của Windows trên một máy tính chạy Windows Vista, bạn phải tự làm quen với công cụ này.

Công cụ Bootsect được cung cấp bởi Windows Automated Installation Kit (Windows AIK), bạn có thể download miễn phí tại website của Microsoft và bạn tìm kiếm “Windows AIK”.

Sử dụng Boot Sector Configurator

Bạn sử dụng Boot Sector Configurator để thay đổi code của Master boot cho một phân vùng đĩa cứng để thiết kế hoặc quản lý khởi động hoặc Ntldr sử dụng để khởi động hệ điều hành. Bạn cũng có thể sử dụng BootSect để khôi phục Sector khởi động trên máy tính của bạn nếu nó bị hỏng hoặc vô tình bị ghi đè. Công cụ này thay thế công cụ FixNTFS.
Phân vùng ổ cứng bạn muốn thay đổi được sử dụng một trong các định dạng sau:

– Driverletter: Nơi mà Driverletter nhận dạng chữ cái của ổ đĩa sử đổi, tiếp theo là dấu hai chấm, chẳng hạn như: C:. Ký tự ổ đĩa phải được kết nối với Volume khởi động.

– Sys: xác định rằng bạn muốn thay đổi phân vùng hệ thống sử dụng để khởi động Windows Vista.

– All: xác định rằng bạn muốn thay đổi tất cả các phân vùng có thể được dung như là Volume khởi động Windows và loại trừ những nhưng Volume không được sử dụng như là Volume khởi động.

Để tạo một Volume khởi động cho Ntldr và một hệ điều hành trước Windows Vista, bạn sử dụng tham số /nt52 theo sau tham số của là phân vùng ổ đĩa bạn muốn thay đổi, chẳng hạn như:

bootsect /nt52 SYS

Để tạo một Volume khởi động cho Boot Manager và Windows Vista hoặc hệ điều hành sau, bạn sử dụng tham số /nt60 và theo sau là Lable cho phân vùng ổ cứng bạn muốn thay đổi, chẳng hạn như:

bootsect /nt60 D:

BootSect sẽ luôn luôn cố gắng để khoá và tháo dỡ phân vùng trước khi cập nhật nó. Nếu BootSect không thể truy cập vào ổ đĩa thì boot Sector sẽ được thay đổi vào lần khởi động kế tiếp.

Chú ý: Bạn có thể ép buộc một phân vùng dismount bằng cách sử dụng tham số /force. Tuy nhiên, điều này có thể gây ra tất cả các tập tin mở sẽ không hợp lệ, nó cũng có thể là nguyên nhân chương trình bị khoá hoặc bị lỗi.

Cài đặt hệ điều hành trước như XP trên máy tính chạy Windows Vista

Khi bạn đang cài đặt một phiên bản trước của Windows trên một máy tính chạy Windows Vista thì bình thường Windows Vista sẽ không cho phép bạn cài đặt. Bạn có thể sử dụng BootSect và bcdedit để làm điều này.

Để cài đặt phiên bản hệ điều hành trước trên máy tính chạy Windows Vista bạn thực hiện các bước sau:

1. Bạn Insert đĩa của phiên bản Windows trước vào ổ CD – ROM hoặc DVD của bạn.

2. Khởi động lại máy tính và bắt đầu với phiên bản trước.

3. Đăng nhập vào phiên bản Windows trước và khôi phục Windows Vista boot manager. Bạn phải chỉ rõ phân vùng nơi mà Windows Vista cài đặt. Nếu Windows Vista cài đặt trên ổ C:, bạn sử dụng dòng lệnh sau:

Bootsect /nt60 C:

4. Tạo mục BCD cho phiên bản hệ đìêu hành trước Windows Vista bạn chỉ cần cài đặt bằng cách sử dụng bcdedit. Bcdedit nằm trong thư mục c:\Windows\System32 của Windows Vista. Nhập các lệnh sau một cách chính xác như được hiển thị, nơi Windows_Version là phiên bản Windows bạn cài đặt:

1. Bcdedit /create {legacy} /d “Windows_Version”

2. Bcdedit /set {legacy} device boot

3. Bcdedit /set {legacy} path \ntldr

4. Bcdedit /displayorder {legacy} /addlast

5. Khởi động lại máy tính để áp dụng thay đổi của BCD.

DT

Leave a Reply

Your email address will not be published. Required fields are marked *