เหตุใดจึงต้องใช้ VHD แทนที่จะใช้ฮาร์ดไดรฟ์จริงโดยตรง เพราะ - สะดวก หากคุณใช้ VHD ตราบใดที่พื้นที่ว่างในฮาร์ดดิสก์เพียงพอคุณสามารถวางระบบได้ 10 หรือ 20 ระบบโดยไม่ต้องคำนึงถึงปัญหาพาร์ติชัน แต่ละระบบเป็นเพียงไฟล์ VHD การถอนการติดตั้งยังสะดวกมาก เพียงลบ VHD ที่เกี่ยวข้องแล้วลบรายการบูต bcd ที่เกี่ยวข้อง การสร้างระบบมือถือใหม่นั้นง่ายยิ่งขึ้น คัดลอก VHD ไปยังฮาร์ดไดรฟ์มือถือตัวอื่น จากนั้นสร้างบูตขึ้นมาใหม่ และทุกอย่างก็เรียบร้อย
สำหรับนักเรียนที่ไม่ชอบใช้ VHD วิธีการจะเหมือนกันกับฮาร์ดไดรฟ์จริง เพียงแก้ไขรายการบูต bcd เพื่อบูต win7 จากฮาร์ดดิสก์มือถือ / ดิสก์ U
หากติดตั้งลงในแฟลชไดรฟ์ USB ก่อนอื่นแฟลชไดรฟ์ USB จะต้องมีขนาดใหญ่เพียงพอ! ประการที่สองหลังจากเสร็จสิ้นคุณต้องติดตั้ง fbwf ที่รองรับ win7 (ต้องติดตั้งก่อนมิฉะนั้นดิสก์ U จะวางสายในไม่ช้า มีการดาวน์โหลดในฟอรัม)
-
ขั้นแรก คุณต้องติดตั้ง WIN7 ลงใน VHD จากนั้นใช้ VHD นี้เพื่อสตาร์ทคอมพิวเตอร์และเรียกใช้ WIN7 ขั้นตอนนี้ง่ายมาก ดังนั้นฉันจึงข้ามไป มีโพสต์ที่เกี่ยวข้องในฟอรัม
ดำเนินการต่อด้านล่าง ย้าย VHD ที่ติดตั้ง WIN7 ลงในฮาร์ดดิสก์แบบพกพา จากนั้นใช้ฮาร์ดดิสก์แบบพกพาเพื่อสตาร์ทคอมพิวเตอร์และเรียกใช้ WIN7 ใน VHD
เวอร์ชันมือถือที่ผลิตนั้นเข้ากันได้กับ WIN7 มาก! ฉันใช้ WIN7 เวอร์ชันมือถือนี้เพื่อสตาร์ทแล็ปท็อปสองเครื่องคือ Lenovo Y450 และ D630 ของ Dell โดยไม่มีปัญหาใดๆ เลย ฉันยังสตาร์ทคอมพิวเตอร์เดสก์ท็อปเครื่องเก่าตั้งแต่ปี 2001, P4 1.5G, หน่วยความจำ 512M, USB1.1, bios ไม่มี USB ตัวเลือกการบูต ปัญหาเดียวคือการติดตั้งไดรเวอร์ใหม่เมื่อเริ่มคอมพิวเตอร์เครื่องใหม่เป็นครั้งแรก ประสิทธิภาพของ win7 เวอร์ชันมือถือนั้นต่ำกว่าเวอร์ชันท้องถิ่นเล็กน้อย ประการแรกคือขีดจำกัดความเร็วของ USB2.0 ประการที่สอง ไดรเวอร์การอ่านและเขียน VHD จะชะลอความเร็วในการอ่านและเขียนฮาร์ดดิสก์ลงเล็กน้อย มากเกินไป ในตอนท้ายของโพสต์นี้ ฉันจะโพสต์แผนภูมิเปรียบเทียบประสิทธิภาพระหว่าง win7 ในเครื่องและ win7 บนมือถือ
การเตรียมเครื่องมือ
- โน้ตบุ๊ก Lenovo Y450 ติดตั้ง Windows 7 Ultimate Edition แล้ว ใช้ในการบู๊ตมือถือ WIN7 และแก้ไขเนื้อหาของ win7.vhd (ไม่จำเป็นต้องใช้ win7 อยู่แล้ว ก็สามารถบู๊ตและแก้ไขมือถือ win7 ได้ เช่น เวอร์ชั่น WINPE3.0)
- Win7.vhd, 15G, อยู่ใน Y450 D: ไดรฟ์
- ฮาร์ดดิสก์พกพามีขนาด 80G แบ่งออกเป็นสองพาร์ติชั่น พาร์ติชั่นแรกคือพาร์ติชั่นระบบของระบบอื่น และพาร์ติชั่นที่สองคือดิสก์ข้อมูล
ขั้นตอน
1. เริ่ม Y450 เพื่อเข้าสู่ Win7 เปิดเครื่องมือการจัดการดิสก์ win7 แนบไฟล์ vhd และแนบ D:/win7.vhd เข้ากับระบบ หลังจากสำเร็จ คุณจะเห็นพาร์ติชั่นใหม่ในคอมพิวเตอร์ อักษรระบุไดรฟ์ที่ฉันกำหนดไว้คือ V: ดังนั้นไดรฟ์ V: จึงมีไฟล์ระบบ win7 ทั้งหมดที่ติดตั้งไว้ล่วงหน้า
2. เนื่องจากไดรเวอร์ USB เมื่อ win7 บน VHD นี้เริ่มต้นจากฮาร์ดดิสก์มือถือ จะมีการรายงานข้อผิดพลาดหน้าจอสีน้ำเงิน: 007B! ขั้นตอนต่อไปคือการแก้ไขไดรเวอร์ USB ของ VHD win7
2.1 เข้าสู่โฟลเดอร์ V:windowsinf ค้นหาไฟล์ต่อไปนี้ ดับเบิลคลิกเพื่อเปิด ค้นหาส่วนที่เกี่ยวข้อง แก้ไขเนื้อหาดังต่อไปนี้ (เพิ่มเนื้อหาเป็นตัวอักษรสีแดง โปรดสังเกตสีแดง ; เครื่องหมาย) จากนั้นให้บันทึกและเขียนทับไฟล์ต้นฉบับ:
usb.inf
;[คุณสมบัติลายเซ็น]
;usbccgp.sys=SignatureAttributes.DRM
;usbhub.sys=SignatureAttributes.DRM
[StandardHub.AddService]
DisplayName = %StandardHub.SvcDesc%
ประเภทบริการ = 1; SERVICE_KERNEL_DRIVER
;StartType = 3 ; SERVICE_DEMAND_START
ประเภทการเริ่มต้น = 0; SERVICE_BOOT_START
การควบคุมข้อผิดพลาด = 1; SERVICE_ERROR_NORMAL
ServiceBinary = %12%usbhub.sys
;LoadOrderGroup = ฐาน
LoadOrderGroup = ตัวขยายบัสระบบ
[CommonClassParent.AddService]
DisplayName = %GenericParent.SvcDesc%
ประเภทบริการ = 1; SERVICE_KERNEL_DRIVER
;StartType = 3 ; SERVICE_DEMAND_START
ประเภทการเริ่มต้น = 0; SERVICE_DEMAND_START
การควบคุมข้อผิดพลาด = 1; SERVICE_ERROR_NORMAL
ServiceBinary = %12%usbccgp.sys
;LoadOrderGroup = ฐาน
LoadOrderGroup = Boot Bus Extender
-
usbport.inf
[ธงควบคุม]
;BasicDriverOk = *
;ไม่รวมจากเลือก = *
;[คุณสมบัติลายเซ็น]
;usbehci.sys=SignatureAttributes.DRM
;usbhub.sys=SignatureAttributes.DRM
;usbohci.sys=SignatureAttributes.DRM
;usbport.sys=SignatureAttributes.DRM
;usbuhci.sys=SignatureAttributes.DRM
;[SignatureAttributes.DRM]
;DRMLระดับ=1300
[EHCI.AddReg.NT]
HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider"
HKR,,คอนโทรลเลอร์,1,01
;HKLM, SystemCurrentControlSetServicesusbehci, BootFlags, 0x00010003,4
[EHCI.AddService]
ชื่อที่แสดง = %EHCIMP.SvcDesc%
ประเภทบริการ = 1; SERVICE_KERNEL_DRIVER
;StartType = 3 ; SERVICE_DEMAND_START
ประเภทการเริ่มต้น = 0; SERVICE_BOOT_START
การควบคุมข้อผิดพลาด = 1; SERVICE_ERROR_NORMAL
ServiceBinary = %12%usbehci.sys
;LoadOrderGroup = ฐาน
LoadOrderGroup = Boot Bus Extender
[OHCI.AddReg.NT]
HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider"
HKR,,คอนโทรลเลอร์,1,01
;HKLM, SystemCurrentControlSetServicesusbohci, BootFlags, 0x00010003,4
[OHCI.AddService]
ชื่อที่แสดง = %OHCIMP.SvcDesc%
ประเภทบริการ = 1; SERVICE_KERNEL_DRIVER
;StartType = 3 ; SERVICE_DEMAND_START
ประเภทการเริ่มต้น = 0; SERVICE_BOOT_START
การควบคุมข้อผิดพลาด = 1; SERVICE_ERROR_NORMAL
ServiceBinary = %12%usbohci.sys
;LoadOrderGroup = ฐาน
LoadOrderGroup = Boot Bus Extender
[UHCI.AddReg.NT]
HKR,,EnumPropPages32,,"usbui.dll,USBControllerPropPageProvider"
HKR,,คอนโทรลเลอร์,1,01
;HKLM, SystemCurrentControlSetServicesusbuhci, BootFlags, 0x00010003,4
[UHCI.AddService]
ชื่อที่แสดง = %UHCIMP.SvcDesc%
ประเภทบริการ = 1; SERVICE_KERNEL_DRIVER
;StartType = 3 ; SERVICE_DEMAND_START
ประเภทการเริ่มต้น = 0; SERVICE_BOOT_START
การควบคุมข้อผิดพลาด = 1; SERVICE_ERROR_NORMAL
ServiceBinary = %12%usbuhci.sys
;LoadOrderGroup = ฐาน
LoadOrderGroup = Boot Bus Extender
[ROOTHUB.AddReg.NT]
HKR,,EnumPropPages32,,"usbui.dll,USBHubPropPageProvider"
;HKLM, SystemCurrentControlSetServicesusbhub, BootFlags, 0x00010003,4
[ROOTHUB.AddService]
ชื่อที่แสดง = %ROOTHUB.SvcDesc%
ประเภทบริการ = 1; SERVICE_KERNEL_DRIVER
;StartType = 3 ; SERVICE_DEMAND_START
ประเภทการเริ่มต้น = 0; SERVICE_BOOT_START
การควบคุมข้อผิดพลาด = 1; SERVICE_ERROR_NORMAL
ServiceBinary = %12%usbhub.sys
;LoadOrderGroup = ฐาน
LoadOrderGroup = ตัวขยายบัสระบบ
-
usbstor.inf
[USBSTOR.AddService]
ชื่อที่แสดง = %USBSTOR.SvcDesc%
ประเภทบริการ = 1
;ประเภทการเริ่มต้น = 3
ประเภทการเริ่มต้น = 0
การควบคุมข้อผิดพลาด=1
ServiceBinary = %12%USBSTOR.SYS
LoadOrderGroup = ตัวขยายบัสระบบ
2.2 เข้าสู่ v:WindowsSystem32DriverStoreFileRepository,
ค้นหาโฟลเดอร์ชื่อ usb.inf_... จากนั้นคัดลอกไฟล์ usb.inf ที่คุณเพิ่งเปลี่ยนแปลงที่นี่เพื่อเขียนทับไฟล์ต้นฉบับ
จากนั้นค้นหาโฟลเดอร์ชื่อ usbport.inf_... และเขียนทับไฟล์ต้นฉบับที่นี่ด้วยไฟล์ usbport.inf ที่แก้ไขแล้ว
ค้นหาโฟลเดอร์ชื่อ usbstor.inf_... ต่อไป และเขียนทับไฟล์ต้นฉบับที่นี่ด้วย usbstor.inf ที่แก้ไขแล้ว
(หมายเหตุ: ความเป็นเจ้าของโฟลเดอร์และไฟล์ในตำแหน่งนี้เป็นของ TrustedInstaller ไม่สามารถเปลี่ยนแปลงได้โดยตรง คุณต้องเปลี่ยนความเป็นเจ้าของเป็นผู้ใช้ที่เข้าสู่ระบบก่อนและให้สิทธิ์แบบเต็มก่อนจึงจะสามารถแก้ไขได้ โปรดค้นหา ออนไลน์สำหรับขั้นตอนการแก้ไข)
2.3 หลังจากแก้ไขไฟล์แล้ว ขั้นตอนต่อไปคือการแก้ไขรีจิสทรี V:windows มีหลายวิธีในการแก้ไขรีจิสทรี วิธีที่ฉันใช้ด้านล่างเป็นวิธีที่ง่ายที่สุด
2.3.1 เปิด WordPad คัดลอกโค้ดต่อไปนี้ลงใน WordPad และบันทึกเป็น usb1.reg (หมายเหตุไม่ใช่ usb1.reg.txt!)
Regedit4
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesUsbBootWatcherService]
"ประเภท"=dword:00000010
"เริ่มต้น"=dword:00000002
"ข้อผิดพลาดการควบคุม"=dword:00000000
"เส้นทางรูปภาพ"=ฐานสิบหก (2):25,53,79,73,74,65,6d,52,6f,6f,74,25,5c,73,79,73,74,65,6d,33,
32,5c,55,73,62,42,6f,6f,74,57,61,74,63,68,65,72,2e,65,78,65,00
"DisplayName"="บริการเฝ้าดูการบูต USB"
"ObjectName"="ระบบท้องถิ่น"
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSafeBootMinimalUsbBootWatcherService]
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSafeBootNetworkUsbBootWatcherService]
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicespciide]
"เริ่มต้น"=dword:00000000
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesintelide]
"เริ่มต้น"=dword:00000000
2.3.2 เปิด WordPad คัดลอกโค้ดต่อไปนี้ลงใน WordPad และบันทึกเป็น usb2.reg
ตัวแก้ไขรีจิสทรีของ Windows เวอร์ชัน 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesusbccgp]
"Group"="Boot Bus Extender"
"เริ่มต้น"=dword:00000000[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesusbehci]
"Group"="Boot Bus Extender"
"เริ่มต้น"=dword:00000000[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesusbhub]
"Group"="Boot Bus Extender"
"เริ่มต้น"=dword:00000000[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesusbohci]
"Group"="Boot Bus Extender"
"เริ่มต้น"=dword:00000000[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesUSBSTOR]
"เริ่มต้น"=dword:00000000
"Group"="Boot Bus Extender"[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesusbuhci]
"Group"="Boot Bus Extender"
"เริ่มต้น"=dword:00000000
2.4 ปิดเครื่องแล้วรีสตาร์ทเพื่อเข้าสู่ Win7 บนดิสก์ V: ซึ่งเป็น VHD Win7 ในเครื่อง ค้นหาไฟล์ usb1.reg และ usb2.reg ที่สร้างใน 2.3 คลิกสองครั้งที่ไฟล์เหล่านั้นเพื่อเรียกใช้ และเนื้อหาของไฟล์จะถูกเขียนลงในรีจิสทรี VHD Win7
2.5 รีสตาร์ทและเข้าสู่ Windows7 ในเครื่อง
3 ในขั้นตอนที่ 2 ไดรเวอร์ USB มีการเปลี่ยนแปลง และตอนนี้ระบบใน win7.vhd สามารถทำงานบนฮาร์ดดิสก์แบบพกพาได้ เสียบฮาร์ดดิสก์มือถือแล้วคัดลอกไฟล์ D:win7.vhd ไปที่ G: (ดิสก์ข้อมูลฮาร์ดดิสก์มือถือ เตรียมพื้นที่ว่างล่วงหน้ามากกว่า 15G)
4. อย่ารีบเร่งที่จะใช้ฮาร์ดดิสก์พกพาเพื่อสตาร์ทคอมพิวเตอร์เพราะ - ยังไม่ได้ทำการบู๊ต! ต่อไปเราจะสร้างการบู๊ตสำหรับ G:win7.vhd ด้วยตนเอง
4.1 คัดลอกโฟลเดอร์บูตและไฟล์ bootmgr ในดิสก์ระบบ Windows 7 ภายในเครื่องไปยังไดเรกทอรีรากของฮาร์ดดิสก์มือถือ F: (ซึ่งเทียบเท่ากับไดรฟ์ C ของฮาร์ดดิสก์มือถือ)
4.2 เข้าสู่โฟลเดอร์ c:windowssystem32 และคัดลอกไฟล์สามไฟล์ต่อไปนี้ไปยังโฟลเดอร์ F:boot:
bootsect.exe - ใช้เพื่อเขียนข้อมูลการบูตไปยังฮาร์ดดิสก์มือถือ MBR
bcdedit.exe - ใช้เพื่อสร้างและแก้ไขรายการบูต bcd
bcdboot.exe - ใช้เพื่อคัดลอกรายการบูต bcd
4.3 รัน cmd เพื่อเข้าสู่บรรทัดคำสั่ง และรันคำสั่งต่อไปนี้ตามลำดับ:
bcdboot c:windows /sf: - คัดลอกรายการบูต Windows 7 ในเครื่องไปยังไดรฟ์ F: (เช่น ฮาร์ดดิสก์มือถือ)
bootsect /nt60 f: /mbr - คำสั่งนี้จะเขียนข้อมูลการบูตเวอร์ชัน nt60 ไปยัง mbr ของฮาร์ดดิสก์มือถือ! ดังนั้นระวังอย่าให้อักษรระบุไดรฟ์ผิด!
bcdedit /store f:bootbcd /copy {default} /d "Windows 7 VHD USB"
หลังจากกด Enter ให้ส่งคืน GUID ในรูปแบบนี้ {********-****-****-****-************} ติดตามผล ฉันใช้ {GUID} แทนในคำสั่ง
bcdedit /store f:bootbcd /set {GUID} อุปกรณ์ vhd=[g:]win7.vhd
bcdedit /store f:bootbcd /set {GUID} osdevice vhd=[g:]win7.vhd
bcdedit /store f:bootbcd /set {GUID} ตรวจพบการเปิด - เปิดพารามิเตอร์การตรวจจับ ซึ่งมีความสำคัญมากสำหรับความเข้ากันได้ของ win7 บนมือถือ หน้าที่ของมันคือบังคับการตรวจจับของ hal (หรือที่รู้จักกันทั่วไปในชื่อโหมดการจัดการพลังงาน) เมื่อเริ่มต้นและได้รับการบรรจุในระบบ ทุกคนรู้ถึงความสำคัญของสิ่งนี้) XP ไม่มีคุณสมบัตินี้...
bcdedit /store f:bootbcd /displayorder {GUID} /addlast
bcdedit /store f:bootbcd /หมดเวลา 5
ฉันเปลี่ยนสิ่งนี้และสิ่งนั้น และในที่สุดทุกอย่างก็เปลี่ยนไป ตกลง ตอนนี้ทุกอย่างพร้อมแล้ว
5 ปิดเครื่องแล้วสตาร์ท Y450 โดยใช้ฮาร์ดดิสมือถือ...
6 คุณยังสามารถใช้เพื่อเริ่ม Dell D630 ได้ด้วย อิอิ... Windows7 จะติดตั้งไดรเวอร์โดยอัตโนมัติเมื่อเริ่มทำงานในครั้งแรก
7 คุณยังสามารถใช้มันเพื่อสตาร์ทเครื่องวินเทจปี 2001, P4 1.5G, หน่วยความจำ 512M, USB1.1, ไบออสไม่มีตัวเลือกการบูต USB หลังจากที่ฉันเสียบฮาร์ดดิสก์มือถือแล้ว ฉันสามารถเห็นฮาร์ดดิสก์มือถือได้จาก รายการฮาร์ดดิสก์ หลังจากบูทจากนั้นเข้าสู่ระบบ WIN7 USB VHD ได้สำเร็จ! แน่นอน เพราะ USB1.1 เวลาสตาร์ทเครื่องคือ 5 นาที... ส่วนความเร็วในการทำงานนั้น ผมสัมผัสได้ถึงความซบเซาชัดเจน... ไม่มีทาง USB2.0 ไม่เป็นอะไรเมื่อรุ่นเก่าขนาดนี้ เครื่องออกจากโรงงานแล้ว นอกจากนี้ยังมีการ์ดเครือข่าย การ์ดเสียง และไดรเวอร์การ์ดแสดงผลที่ไม่สามารถจดจำได้... มันเก่าเกินไป!
8 คุณยังสามารถใช้เพื่อเริ่มคอมพิวเตอร์กระแสหลักในปีหน้า ซึ่งเป็นไดรฟ์โซลิดสเตต USB3.0+SSD ได้เร็วกว่าฮาร์ดไดรฟ์ในเครื่องหรือไม่ - น้ำลายไหล YY...
หมายเหตุ: ในการเลือกเวอร์ชัน Windows 7 ก่อนอื่นคุณต้องเลือกเวอร์ชันสุดท้าย เนื่องจากเฉพาะเวอร์ชันสุดท้ายเท่านั้นที่รองรับ VHD! ประการที่สอง คุณต้องพิจารณาปัญหาในการเปิดใช้งาน Windows 7 เนื่องจากเมื่อคุณเริ่มระบบนี้บนเครื่องอื่น Windows จะขอให้คุณเปิดใช้งานใหม่เนื่องจากฮาร์ดแวร์มีการเปลี่ยนแปลง... หากคุณเป็นเวอร์ชัน OEM โดยเฉพาะ ก็มีแนวโน้มว่า คุณจะไม่สามารถเริ่มระบบคอมพิวเตอร์อื่นได้