# Notification.
Notification

Author Topic: Windows 7 VHD  (Read 12406 times)

0 Members and 1 Guest are viewing this topic.

Offline ans58670

  • Webmaster
  • *****
  • Posts: 2040
    • View Profile
Windows 7 VHD
« on: 17 May 2011, 13:32:36 »
จะมีพวกโรคจิตเรื่อง Computer ประเภทหนึ่ง (ข้าพเจ้าเอง) อยากลองและใช้ Windows โดยเฉพาะ Windows 7 มันซะทุก Edition มันพร้อมๆกัน เมื่อก่อนก็ใช้ Virtual Machine Ware ต่างๆเพื่อทดลองไอ้นี่ไอ้นั่นไปตามประสา แต่ติดที่มันใช้ได้ไม่คล่องมือเหมือนเป็นเครื่องจริง อีกทั้งยังมีข้อจำกัดโน่นนี่นั่นเยอะแยะไปหมด เช่นการ Share File และ Folder ต่างๆกับเครื่อง Host เป็นต้น

อยู่มาวันหนึ่ง (เหมือนเล่านิทานเลย) ได้เจอกับ EasyBCD ก็บังเกิดพุทธิปัญญาขึ้นมาเมื่อได้ปิ๊งกับการ Add Entry โดยให้ Boot จาก Virtual Disk




อ่านแล้วสรุปเอาเองเลยว่า ในเมื่อ Boot ตรงจาก Virtual Disk ได้ ถ้าอย่างเราก็สามารถสร้างสารพัด Windows Edition แล้วเก็บเอาไว้ใน Hard Disk ลูกเดียวกันได้น่ะสิ จากการค้นคว้าของนักกระยาสารทอย่างข้าพเจ้า พบว่ามันสามารถใช้ Hardware ต่างๆได้เหมือนจริง ใช้ Graphic Card ได้จริง ทุกอย่างเหมือน run อยู่บน Hard Disk จริงๆ ดังนั้นเวลาเราอยากจะใช้ Windows อะไรก็เลือก Boot จาก Image ใดๆที่มีอยู่ ก็จะใช้งานได้จริงๆ หรือแม้แต่เครื่องที่ไม่มี Host OS อยู่เลย ก็ยังสามารถ Boot มันได้ (ถ้ารู้วิธี)...บ๊ะ เข้าท่า

นอกจากนี้เรายังจะสามารถเอามันมาทำเป็น Operation System (OS) ต้นแบบเพื่อใช้ในการ Clone เพื่อเอาไปลงใน Computer เครื่องต่างๆได้อีก โดยใช้ได้ทั้ง GImageX และ Ghost32 ที่ run บน Windows (คิดเผื่อเอาเองว่า น่าสนใจสำหรับร้าน Computer ที่ต้องการสร้าง OS หลายๆรูปแบบเอาไว้ลงให้เครื่องลูกค้า)






Virtual Disk เดียวที่ทำได้แบบนี้ก็คือ File แบบ VHD ของ Microsoft (อีกแล้วครับท่าน)

โดยปกติ สามารถจะทำได้โดยไม่ต้องใช้ Virtual Machine ใดๆของ Microsoft แต่ว่าเราจะต้องมี Host OS เป็น Windows 7 Ultimate หรือ Enterprise ไม่อย่างนั้นก็ต้องเป็น Windows Server 2008 R2 เท่านั้น เพราะอะไร...

...การ Boot โดยตรงจาก VHD เรียกว่า "Native Boot" หรือ "Native VHD Boot" โดย Microsoft ใช้เทคนิคการควบคุม Feature ของ Windows 7 Edition ต่างๆมาจาก Software License Policy ของ Edition นั้นๆ และ Native VHD Boot ก็ถูกควบคุมไว้โดย Policy ดังนี้
   ค่า Default Policy ของ Native VHD Boot คือ

   <sl:policyInt name="Kernel-NativeVHDBoot" attributes="reboot-required">0</sl:policyInt>

   คือ Disable สำหรับ Version ทั่วๆไป แต่สำหรับ Ultimate และ Enterprise จะมีค่า Policy เป็น

   <sl:policyInt name="Kernel-NativeVHDBoot" attributes="reboot-required, override-only">1</sl:policyInt>

   ซึ่งหมายถึงใช้ Kernel-NativeVHDBoot ได้

อย่าถามว่าจะแก้ Policy อย่างไร เพราะถึงแก้ไปก็จะติดปัญหาต่อมาที่จะทำให้ใช้ไม่ได้ก็คือเรื่อง BitLocker ที่อยู่ใน Host System อีกอยู่ดี

หลังจากชักแม่น้ำทั้งห้ามาประกอบแล้ว ก็ถึงเวลาที่เราจะมาว่าเรื่อง "สร้าง VHD ให้ Boot ได้" โดยวิธีปกติ

สิ่งที่ต้องเตรียม...
1. DVD หรือ UFD ที่ใช้ติดตั้ง Windows 7
2. Partition ว่างๆที่เราจะใช้สำหรับสร้างและ run เจ้า VHD นี้ (เอาสัก 40GB เผื่อไว้สำหรับ VHD สัก 2 OS โดยประมาณว่า OS ละ 20GB)
   (ทั้ง 2 อย่างนี้น่าจะหาเอาเองได้นะจ๊ะ ขอบอก)

วิธีทำนั้นง่ายมาก...
1. Boot Computer จาก DVD หรือ UFD ที่ใช้ติดตั้ง Windows 7 ปกติ
2. จากนั้นก็ไปตามภาพได้เลย...
































ปกติแล้ว Windows จะต้องสร้าง Entry ใหม่ของ Windows7 ขึ้นมาให้โดยอัตโนมัติ แต่หากมันไม่สร้างให้ เมื่อ Boot ขึ้นมาก็เข้าระบบ Windows 7 ปกติของเรา แล้วสร้าง Entry ขึ้นมาเองได้ดังรูป...





เมื่อติดตั้งเสร็จแล้ว ก็ลองเข้าไปเล่นได้ตามใจปรารถนาได้เลย (ติดอยู่ที่ ThinPC ซึ่งในเบื้องต้นลองติดตั้งแบบ VHD นี้ไม่ได้)

โอกาสดีๆจะมาต่อเรื่องการ Clone VHD ไปลงเพื่อใช้เป็น OS จริงบน Hard Disk ซึ่งสามารถลองทำเองได้เลย ไม่ยากหรอกครับ [emo02]


Offline ans58670

  • Webmaster
  • *****
  • Posts: 2040
    • View Profile
Re: Windows 7 VHD
« Reply #1 on: 17 May 2011, 15:35:39 »
เป็นตอนต่อจากการสร้าง Windows 7 ให้ Boot โดยใช้ VHD ที่ตั้งชื่อไว้ว่า Windows 7 VHD ซึ่งตอนนี้เราจะนำไปสู่การ Mount เจ้า VHD ให้ปรากฏขึ้นมาบนเครื่องที่เราใช้อยู่จริง เพื่อที่จะนำไป Clone หรือประโยชน์ด้านอื่นๆ

ทั้งนี้โดยอนุมาณเอาเองว่าท่านทั้งหลายได้เข้าไปจัดการกับ VHD ของท่านและได้เตรียมการต่างๆเพื่อที่จะ Clone มันเอาไว้ใช้ในการติดตั้งลงเครื่องจริงเรียบร้อยแล้ว (ชอบคิดเองเออเองแบบนี้แหละ)

สิ่งที่ต้องเตรียม...คือการอ่านให้ละเอียด

เราถือเอาพื้นฐานจาก VHD ที่สร้างเอาไว้ในตอนก่อนหน้านี้เป็นหลักนะครับ (นิสัยเสีย เอาตัวเองเป็นใหญ่) โดยเราได้สร้าง VHD เอาไว้แล้วอยู่ใน Drive D: ชื่อ File ว่า Win7VHD.vhd และเราไม่มี File ที่เป็น Utility ที่ใช้ Mount VHD ซึ่งหากท่านมี Utility สำหรับการนี้อยู่แล้ว ก็ข้ามไปได้เลย หรือจะอ่านเอาไว้สักหน่อยก็ได้

จะ Mount VHD ได้โดยเปิด Command Prompt แล้วพิมพ์คำสั่ง

DISKPART
เพื่อเข้าสู่ Diskpart Mode

SELECT VDISK FILE="D:\Win7VHD.vhd"
เพื่อเลือกว่าเราจะทำงานกับ VDisk ตัวไหน

AUTOMOUNT ENABLE
เพื่อบอก Windows ว่า Automount ให้ที

ATTACH VDISK
เพื่อ Attach เจ้า VDisk ที่เราเลือก

EXIT
เพื่อออกจาก DISKPART

เสร็จแล้วเราก็ไปเปิด My Computer เพื่อดูว่ามันโผล่มาหรือยัง ถ้ายัง ให้เปิด Run พิมพ์คำสั่ง
diskmgmt.msc
เพื่อเปิด Disk Management

ซึ่งในนี้น่าจะพบ Drive ลึกลับที่ไม่มีชื่อไม่มีแซ่อยู่ ให้ใส่ Drive Letter แล้วตั้งชื่อให้มันเสีย ทีนี้มันก็จะปรากฏตัวอยู่ใน My Computer เป็นที่เรียบร้อยแล้ว (ตอนแรกไม่มีอะไรที่ Drive Letter ดังนั้น Windows เลยไม่รู้ว่าจะเอาออกมาให้ดูอย่างไร)

จากนั้นเราก็เอา GImageX หรือ Ghost32 จัดการตบเด็กเก็บไว้ที่ไหนก็ตามใจเรา

เมื่อเรา Clone โดยกรรมวิธีต่างๆที่เราถนัดเสร็จแล้วก็ถึงเวลา Unmount มันออกโดยเข้าไปที่ DISKPART แล้วพิมพ์คำสั่ง

SELECT VDISK FILE="D:\Win7VHD.vhd"
เพื่อเลือกว่าเราจะทำงานกับ VDisk ตัวนี้ที่เรา Mount เอาไว้

DETACH VDISK
เพื่อยกเลิกการ Attach VDisk ที่เราเลือก

EXIT
เพื่อออกจาก DISKPART

ลองไปเปิด My Computer ก็จะพบว่ามันหายไปแล้ว (ไม่มีภาพประกอบเพราะความขี้เกียจ) [emo02]

Offline microsoft

  • Administrator
  • *****
  • Posts: 8651
    • View Profile
    • VarietyPC.Net
Re: Windows 7 VHD
« Reply #2 on: 18 May 2011, 00:46:26 »
ความรู้ดีๆอีกแล้ว ขอบคุณมากนะครับท่าน  [emo04]
การให้ที่ยิ่งใหญ่ คือ... การให้ต่อไป.... ไม่สิ้นสุด

Offline boogyman

  • VPC Member
  • ****
  • Posts: 868
  • นี่แน่ะ ! ดัดจริตพิมพ์ให้ผิดดีนัก
    • View Profile
Re: Windows 7 VHD
« Reply #3 on: 18 May 2011, 01:32:23 »
ขอบคุณมากนะครับท่าน  [emo01]
--สุดยอดครับ ความรู้ คู่จินตนาการ จริงๆ เลยท่าน  [emo27]
ระยะทางไกลพันลี้ต้องเริ่มต้นด้วยก้าวแรกฉันใด
ความสำเร็จย่อมเกิดขึ้นได้เมื่อลงมือทำฉันนั้น

Offline fantasy ಠ-ಠ

  • ผู้รู้ ผู้ตื่น ผู้เบิกบาน
  • N/A
  • *****
  • Posts: 4491
  • เมื่อวานรู้ วันนี้ก็รู้ แต่... พรุ่งนี้ไม่รู้
    • ICQ Messenger - 2484607
    • View Profile
    • iPlusZone.com
Re: Windows 7 VHD
« Reply #4 on: 18 May 2011, 13:35:02 »
ท่าน ans58670 ทำให้ผมค้นพบทางสว่างแล้ว [emo19]
เพราะสงสัยเจ้า Virtual Disk นี่แหล่ะ ว่ามันทำงานอย่างไร
ตั้งแต่ตอนที่ติดตั้ง Windows Server ก็เจอตัวนี้ แต่ไม่รู้จะใช้งานยังไงดี
...
เอาไว้ว่าง ๆ จะหาเวลามาศึกษาความรู้จากกระทู้นี้อีกครั้งล่ะครับผม

Offline ans58670

  • Webmaster
  • *****
  • Posts: 2040
    • View Profile
Re: Windows 7 VHD
« Reply #5 on: 18 May 2011, 15:19:57 »
- ความจริงเราสามารถใช้ Disk Management ทำการ Mount Virtual Disk ได้เลย




- จะมี Browse ขึ้นให้เลือก VHD เมื่อเลือกแล้วจะได้อย่างนี้




- เวลาจะ Unmount ก็ต้อง Click ขวาที่ Disk แล้ว Offline มันเสียก่อน จะได้ดังภาพ







- จากนั้นมันก็จะหายไป [emo02]

Offline ans58670

  • Webmaster
  • *****
  • Posts: 2040
    • View Profile
Re: Windows 7 VHD
« Reply #6 on: 24 May 2011, 16:17:57 »
ไม่อยากทำหัวข้อใหม่ก็เลยต่อในนี้เสียเลย จะได้รวบรวมเป็นเรื่อง Windows 7 VHD เรื่องเดียวกัน

ตอนนี้เรามาดูการสร้าง Bootable VHD โดยผ่าน Command Prompt กันบ้าง ซึ่งมักจะใช้เมื่อติดตั้งแบบปกติไม่ผ่าน สิ่งที่เราต้องมีก็คือ "WIM2VHD.WSF" ไปเอาจาก MSDN พร้อมรายละเอียดได้เลย
WIM2VHD 6.1.7600.0 RTW

Copy เอาไปใส่ไว้ใน System32 โดยใน System32 จะต้องมีอีก 5 file นี้ช่วยในการทำงาน
- ImageX.exe
- BCDBoot.exe
- BCDEdit.exe
- REG.exe
- Diskpart.exe

ลองดูว่ามีครบไหม หากไม่ครบต้องไปหา download มาใส่ไว้ใน System32 (ImageX.exe นี่น่าจะไม่มีอยู่นะ แต่เคยให้ไว้แล้ว ลองหาดูเอาเองนะครับ)

เมื่อได้ file ต่างๆมาครบแล้ว ก็เริ่มลงมือสร้างได้

 1. ใส่แผ่นติดตั้ง Windows 7 ลงใน Optical Drive หรือ Mount ISO จาก Daemon Tool ต่างๆที่เรามี สมมุติว่าได้เป็น Drive G: แล้ว เราจะทำ VHD ไว้ที่ Drive V: โดยจะสร้าง Windows 7 Professional 64-bit ให้มีขนาด 25GB (25600MB) โดยให้เป็น Dynamic ยืดขยาย Disk ได้ และจะใช้ชื่อ VHD นี้ว่า Pro64VHD.vhd

 2. หาดูว่า Windows 7 ที่เราจะติดตั้งเป็น Index ที่เท่าไหร่ใน Install.wim อาจเปิด Command Prompt แล้วพิมพ์คำสั่ง (ถือเอาว่าไม่มี GImageX ใช้ก็แล้วกัน)
    ImageX /Info I:\Sources\Install.wim
    
    ซึ่งจะแสดง Index ออกมาทั้งหมด แต่หากตาลายดูแล้วเวียนหัวเพราะมากเหลือเกิน สามารถดูได้ทีละตัว โดยใส่เลข Index ที่ต้องการจะดู Info ไว้ต่อจาก Install.wim โดยเว้นวรรค 1 เคาะดังนี้ (หลังตัวเลข...ห้ามพิมพ์อะไรเพิ่มเด็ดขาด เพราะจะกลายเป็นคำสั่ง Rename ของ Index ทันที)
    ImageX /Info I:\Sources\Install.wim 1
    
    จะแสดง Information ของ Index ที่ 1 หากใส่เลข 2 ก็จะเป็น Index ที่ 2
    หรืออีกวิธีหนึ่งก็คือ run การติดตั้ง Windows 7 ไปเลย เมื่อถึงหน้าที่มีให้เลือกว่าจะติดตั้ง Windows 7 Edition ไหน เราก็นับเลย ตัวแรกคือ Index 1 แล้วก็ 2 และไล่ลงมาเรื่อยๆ
    สมมุติว่า Windows 7 Professional 64-bit ที่เราต้องการเป็น Index ที่ 8 (ก็แผ่นที่ใช้อยู่มันเป็นอย่างนี้นี่จ๊ะ)

 3. เนื่องจาก WIM2VHD มีนามสกุลเป็น WSF (Windows Script File) จึงต้องสั่ง run จากใน Command Prompt ผ่านคำสั่ง Cscript ใน System32 ดังนั้นให้เปิด Command Prompt เมื่อพิมพ์คำสั่งแล้วกด <Enter> แต่ละบรรทัด
    CD\Windows\System32
    Cscript Wim2Vhd.wsf /Wim:G:\Sources\Install.wim /sku:8 /vhd:V:\Pro64VHD.vhd /size:25600 /disktype:Dynamic
    
 4. เมื่อเสร็จแล้ว เราก็ใช้ EasyBCD สร้าง Boot Entry ให้กับ VHD ตัวนี้ แล้ว Reboot เครื่องเข้า VHD ที่สร้างใหม่เพื่อให้ Windows ทำการ Setup ให้เสร็จ

ของง่ายๆอีกแล้ว(กระมัง?) เก็บเป็นความรู้เอาไว้ใช้ต่อไปนะครับ ไว้ว่างๆจะมาเล่าเรื่องอื่นๆของ VHD กันต่อในหัวข้อ Windows 7 VHD นี้นี่เอง... [emo02]

ปล. มาปรับปรุงเล็กน้อยเรื่องคำสั่งของ ImageX เพราะมันอันตราย (24 พ.ค.54, 23:10)

Offline Annop

  • VPC Member
  • ****
  • Posts: 1001
    • View Profile
Re: Windows 7 VHD
« Reply #7 on: 24 May 2011, 21:00:35 »
รวมๆความรู้ของท่าน ans58670 ที่นำมาแบ่งปันนี่ เอามารวมเป็นเล่มได้เลยนะครับ

Offline NANO_S69

  • VPC Member
  • ***
  • Posts: 156
    • View Profile
    • Email
Re: Windows 7 VHD
« Reply #8 on: 24 May 2011, 23:31:05 »
ฮื้อ ฮือ สุดยอด แห่ง คำภีร์  [emo19]  [emo01]

Offline RookiE'

  • VPC Member
  • ****
  • Posts: 999
    • MSN Messenger - muu_ja_ma_ruu@live.com
    • View Profile
    • Email
Re: Windows 7 VHD
« Reply #9 on: 24 May 2011, 23:56:33 »
สุดยอดไปเลยครับ ความรู้ทั้งนั้น  [emo09] [emo01] [emo19]

Offline ans58670

  • Webmaster
  • *****
  • Posts: 2040
    • View Profile
Re: Windows 7 VHD
« Reply #10 on: 25 May 2011, 03:45:01 »
หวังว่าคงจะได้ลองเล่น Windows 7 VHD กันบ้างแล้วไม่มากก็น้อย จากนี้ไปจะมาว่ากันต่อถึงประโยชน์สำคัญอันหนึ่งของ VHD นั่นคือ...มัน run โดยไม่ต้องมี Host OS ได้ครับพี่น้อง!?!?

อ๊ะ มันหมายความว่าอย่างไรกัน...มันก็หมายความว่า บนเครื่องของท่าน ไม่จำเป็นต้องติดตั้ง Windows หรือ Mac หรือ Linux มันก็ยัง Boot ขึ้นมาได้นะสิครับญาติมิตร

โม้หรือเปล่า? ไหนตอนแรกบอกว่าต้องใช้ Host เป็น Windows 7 Ultimate หรือ Enterprise ไม่อย่างนั้นก็ Server 2008 R2 ไม่ใช่หรือ?...บางคนว่าไปนั่น แต่ขอโทษ มันเป็นความจริงครับ เพราะได้บอกไปให้อ่านแล้วงงในตอนแรกแล้วว่า "ถ้ารู้วิธี" ซึ่งนี่จะทำให้เราสามารถ run Windows 7 ผ่าน VHD จาก External Hard Disk ได้ด้วยเช่นกัน แต่คงจะเอาไว้ว่างๆก่อนค่อยมาว่ากัน (ความเร็วก็คงลดลงไปตามความสามารถในการ อ่าน/เขียน ของ External HDD แต่ละลูก ซึ่งถ้าต่อเป็น eSATA แล้วละก็...หึหึหึ)

ขั้นแรกก็คือให้ท่านผลิต VHD ขึ้นมาสัก 1 file ก่อนตามวิธีไหนก็ได้ ไม่ว่าจะแบบ GUI หรือใช้ Wim2Vhd (ขอสารภาพว่าถนัด Wim2Vhd มากกว่าเพราะสามารถทำอย่างอื่นได้ในระหว่างที่สร้าง VHD) คราวนี้ขอใช้ชื่อเป็น "WinVHD.vhd" ก็แล้วกัน

ต่อไปก็เล็งหา Hard Disk เหมาะๆสักลูก แล้วเราก็เข้า Diskmgmt.msc (Disk Management) ตั้งค่า Hard Disk ลูกนี้ให้มี Partition เดียวและให้เป็น Primary กับ Active ด้วย หากอยากได้ Partition เพิ่มจึงค่อยไป Shrink Volume ภายหลัง สมมุติว่าได้เป็น Drive G:

ต่อไปเป็นขั้นตอนสำคัญมากๆ อย่าได้พลาดและอ่านให้ละเอียด

"Copy เอา WinVHD.vhd ที่ได้ในตอนแรก ไปใส่ใน Drive G: ที่สร้างขึ้นมาใหม่"

เห็นไหมว่าสำคัญมาก เพราะถ้าไม่มี VHD มันก็ Boot ไม่ได้ ใช่ไหมเล่า? (ฮิฮิฮิ)

เอาละขั้นตอนต่อไปจะเป็นการทำให้มัน Boot ได้ด้วยตัวมันเอง โดยเริ่มจาก Attach หรือ Mount เจ้า WinVHD.vhd โดยจะใช้วิธีใดวิธีหนึ่งที่ได้บอกไปในตอนก่อนๆแล้ว (Diskpart หรือไม่ก็ใช้ Disk Management) ที่ต้องทำเช่นนี้ก็เพื่อให้มันมีตัวตนขึ้นมาจริงๆก่อน ลองสมมุติว่าเมื่อ Mount แล้วได้มันขึ้นมาเป็น Drive K: ดังนั้นเราจะต้องใส่วิญญาณลงไปให้มันมีชีวิตตามนี้

   1. เปิด File ที่ Windows ซ่อนเอาไว้ทั้งหมดขึ้นมา (ใช้ Organize => Folder and search options => View)
   2. ไปที่ C:\ แล้ว Copy เอา file ชื่อ bootmgr ไปไว้ที่ G:\ (Hard Disk จริง เพราะ VHD จะ Boot ได้จาก bootmgr จริงเท่านั้น)
   3. จากนั้นเปิด Command Prompt แล้วพิมพ์คำสั่ง
       BCDBoot K:\Windows
      เพื่อสร้าง BCD ให้ Boot จาก Drive K: ซึ่งเป็น VHD
   4. เมื่อเสร็จแล้วอย่าลืม Detach VDisk ตามวิธีที่บอกไปแล้วด้วย

เพียงเท่านี้ก็เสร็จแล้ว จัดการ Shutdown เครื่อง แล้วถอด Hard Disk ออกให้หมด ต่อไว้แต่ลูกที่มี VHD แล้วลองเปิดใช้ได้เลย (จะได้ไหมหนอ?)

ต้องไม่ลืมว่าเที่ยวเอาไปเสียบมั่วๆกับเครื่องโน้นเครื่องนี้ไม่ได้นะครับ เพราะ Hardware ของแต่ละเครื่องมันไม่เหมือนกัน ถ้าจะทำอย่างนั้นก็ต้องทำ Sysprep และ Answer File เอาไว้รวมทั้งเสียเวลารอ Setting อีกสักพักหนึ่ง

เอาไว้คิดอะไรอย่างอื่นออกแล้วจะมาบอกต่อ [emo02]

ปล. ทดลองทำกับอีกเครื่องหนึ่งที่เก่ากว่าด้วยสารพัดวิธี ปรากฏว่ามันไม่ยอม Boot ดังนั้นจึงคาดว่าน่าการทำเช่นนี้น่าจะมีข้อจำกัดอยู่บ้าง อาจเป็นเรื่อง Motherboard หรือ BIOS จะหาทางต่อไปจ้ะ (25 พ.ค.54, 01:25)

Offline Annop

  • VPC Member
  • ****
  • Posts: 1001
    • View Profile
Re: Windows 7 VHD
« Reply #11 on: 25 May 2011, 10:35:13 »
แหม...ท่านไม่หลับไม่นอนมั่งเลยหรือครับ.. [emo01] [emo01]

Offline microsoft

  • Administrator
  • *****
  • Posts: 8651
    • View Profile
    • VarietyPC.Net
Re: Windows 7 VHD
« Reply #12 on: 26 May 2011, 02:45:22 »
อีกแล้วหรอครับ สุดยอดจริงๆเลย วิทยายุทธลึกล้ำมากๆ  [emo30]  [emo30]
การให้ที่ยิ่งใหญ่ คือ... การให้ต่อไป.... ไม่สิ้นสุด

Offline ans58670

  • Webmaster
  • *****
  • Posts: 2040
    • View Profile
Re: Windows 7 VHD
« Reply #13 on: 06 June 2011, 22:04:42 »
VHD แทบจะไม่มีประโยชน์อะไรสักเท่าไหร่นัก มันก็เหมือน Run OS ธรรมดา หากแต่ว่าประหยัดพื้นที่ใน Hard Disk ของเรา แต่จะมีประโยชน์ที่มากกว่านั้น หากเรารู้จัก ตัวแสบที่เรียกว่า Differencing VHD

การทำ Differencing VHD คือการต่อแขนต่อขาให้ VHD ตัวหลัก โดยที่ หากทำอะไรไปบน Differencing VHD แล้วจะไม่มีผลกระทบไปถึง VHD ตัวหลัก ซึ่งนั้นก็หมายถึงการทำการทดลองติดตั้ง Program ใหม่ๆได้โดยไม่กระทบถึงตัวหลักของมัน หากจะนำไปใช้จริง...ก็คงใช้บน Server แล้วให้มี VHD หลัก แล้วให้ client ทำการ Boot Network จาก Differencing VHD แค่นี้ Server ของท่านก็ปลอดภัยแน่นอน Virus แตะไม่ถึงชนิดที่ยิ่งกว่าใช้ Server แบบ Linux เสียอีก เพราะเราใช้งานบน "ของปลอมทำเหมือน (Virtaul)" ทั้งหมด (ข้อจำกัดคือเราสร้าง VHD ได้ไม่เกิน 512 ตัว...ซึ่งคงไม่พอใช้กระมัง?) นอกจากนี้ พอเราดูแล้วว่า Differencing VHD ที่ได้ทดลองใช้เป็นที่พอใจของเราแล้ว เราก็ยังสามารถรวม Differencing VHD เข้ากับตัวหลักเพื่อให้ OS สมบูรณ์ขึ้นได้ด้วย

ต่อไปเราคงต้องเรียก VHD ตัวหลักเป็น "Parent VHD" และตัว Differencing เป็น "Child VHD" เพราะความจริงมันเป็น พ่อ-แม่-ลูก กันตามหลักของ Microsoft ที่เขาเรียก (ไม่อย่างนั้นเวลาไปดูบทความที่อื่นเรื่องพวกนี้แล้วเดี๋ยวจะงงหนัก)

ก่อนจะสร้าง Child VHD เราก็ต้องเตรียมความพร้อมของ Parent เสียก่อน สมมุติให้ Parent VHD อยู่ที่ V:\Win7VHD.vhd
1. Boot เข้า Parent VHD แล้วจากนั้นก็...
   1.1 ลงโปรแกรมพื้นฐานที่สำคัญจำเป็นบน Parent VHD (หากใช้ไปแล้วรู้สึกว่าไม่ครบ เราก็เติมมันได้เรื่อยในภายหลัง)
   1.2 Scan เพื่อทำลายสารพัด Virus รวมทั้ง Mulware, ADware และ Spyware ทั้งหลายให้เหี้ยน
   1.3 ทำการ "Clean up" ตัว Parent VHD เสียเพื่อให้มีขนาดเล็กลง (แล้วแต่ท่านทั้งหลายจะเลือกวิธี)
   1.4 ทำการ Defragment เจ้า Parent VHD เพื่อให้หยิบใช้ง่ายและคล่องตัว
   1.5 ทำความสะอาดและจัดระเบียบ Registry ด้วยการ Clean และ Defragment Registry

2. Boot เข้า OS หลัก (ไม่ใช่ VHD) แล้วเปิด Command Prompt แล้วพิมพ์คำสั่ง
   Diskpart
   Select Vdisk File="V:\Win7VHD.vhd"
   Compact Vdisk
   Exit

   (ใช้เวลามิใช่น้อยในการ Compact File ให้มีขนาดเล็กลง แต่ก็ตามหลักการจ๊ะ)


เมื่อเราเตรียม Parent VHD เสร็จแล้ว ก็ถึงเวลาที่เราจะมาสร้าง Child VHD โดยสมมุติให้เป็น V:\Chd7VHD.vhd
1. Boot เข้า OS ปกติ เมื่อเปิด Command Prompt แล้วพิมพ์คำสั่ง
   Diskpart
   Create Vdisk File="V:\Chd7VHD.vhd" Parent="V:\Win7VHD.vhd"
   Exit

   (ไม่ต้องกำหนด Size เพรา Differencing จะใช้พื้นที่ต่อมาจาก Parent รวมทั้งไม่ต้องกำหนด Type เพราะ Differencing จะถูกกำหนดให้เป็น Expandable โดยอัตโนมัติ โดยตัวมันก่อนใช้งานมีขนาดเล็กนิดเดียว ไม่กี่ KB)

2. เข้า EasyBCD หรือ BCDEdit สร้าง Entry ให้กับ Child VHD

ทีนี้ก็ Boot เข้า Child VHD แล้วก็บรรเลงตามใจชอบเลย แต่จากที่สังเกตุดูการ Boot น่าจะช้าลงสัก 10 เปอร์เซ็นต์ (ตัวเองลองติดตั้ง Microsoft Office 2010 และ NVidia Forceware 275.33 พร้อม Update ของ Windows อีก 3 ตัว ได้ Child VHD ออกมาเป็น 6.21 GB โดย Parent VHD เป็น Ultimate 64-bit อยู่ที่ 17GB ไม่ขยับ)

ที่รักจ๋า เราสามารถเอา VHD หลักมาเป็น Parent ให้ Differencing ได้หลายๆตัว นอกจากนี้ เรายังเอา Child มาทำเป็น Parent ให้กับ Diffencing อื่นๆเพื่อต่อแขนงลงไปอีกได้ไม่จำกัดจำนวนนะจ๊ะ

ตอนที่ Post กระทู้นี้กำลังอยู่ใน Child VHD ที่ Depth 1 ครับผม การใช้งานทั่วไปปกติดี

โอกาสหน้าจะมาว่ากันถึงเรื่องการรวม Parent กับ Child เข้าด้วยกันหลังจากได้ทดลองใช้ Child ที่เพิ่มขึ้นมาจนมั่นใจใน Program ที่ได้ทดลองไปแล้ว (ว่างๆศึกษาเองก็ได้นะครับ เป็นเรื่องที่เรียกว่า Merge และ Depth) [emo21]

Offline sunstar77

  • VPC Member.
  • **
  • Posts: 84
    • View Profile
Re: Windows 7 VHD
« Reply #14 on: 30 July 2012, 21:55:40 »
ภาพตัวอย่างหายไปครับ ท่านใดมีเก็บไว้อัพให้ด้วยนะครับ [emo17]


 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27