Jump to content
  • entries
    48
  • comments
    124
  • views
    25646

Dual Boot from a VHD on Windows 7


Akladakis

3079 views

 Share

Me_teched Σε αυτό το post θέλω να περιγράψω πως είναι δυνατόν στα windows 7 να έχουμε την δυνατότητα dual boot χωρίς την ανάγκη δημιουργίας ξεχωριστών partitions κλπ, αλλά μόνο με την χρήση ενός αρχείου εικονικού δίσκου, ενός vhd. Ένα vhd το οποίο θα δημιουργήσετε και θα το χρησιμοποιήσετε για να bootαρετε ένα άλλο λειτουργικό όπως Vista, WS 2008, WS 2008 R2, χωρίς την χρήση κάποιου εξωτικού 3rd party εργαλείου.

Τα παρακάτω βήματα είναι απαραίτητα για την δημιουργία vhd από το οποίο θα γίνεται boot στο σύστημα μας

1. Δημιουργία VHD

2. Μεταφορά WIM image από DVD του επιλεγμένου λειτουργικού στο VHD

3. Επέμβαση στο boot loader για εκκίνηση από το VHD.

Στο παράδειγμα που θα ακολουθήσει θα δημιουργήσω ένα vhd με WS 2008 R2 μέσα σε ένα σύστημα με Windows 7, και θα το ρυθμίσω ώστε να bootαρω και απο αυτό ώστε στο ίδιο PC να έχω client και server λειτουργικό μαζί και να επιλέγω ποιο θα χρησιμοποιώ.

Είναι πραγματικά τόσο απλό όσο το περιγράφω με μόνη δυσκολία, ένα download…αυτό του WAIK. Και το περιγράφω ως δυσκολία διότι είναι το μόνο πράγμα που δεν έχετε άμεσα στη διάθεση σας, όλα τα άλλα είναι ήδη στο σύστημα σας.

Πάμε να το δούμε

Δημιουργία VHD

Εξασφαλίζω ελεύθερο χώρο σε ένα δίσκο του υπολογιστή μου. 20 GB είναι αρκετά. Και δεν εννοώ unallocated space αλλά κανονικό χώρο σε ένα volume. Δημιουργώ ένα folder στο volume αυτό όπου θα φιλοξενήσω το vhd μου. Π.χ. c:\vhd

Δημιουργώ VHD (π.χ. w2k8r2.vhd) από το Computer Management/Disk Management / Action / Create Vhd

clip_image002

Όταν το δημιουργήσουμε στο folder που δημιουργήσαμε παραπάνω, αυτό εμφανίζεται σαν κανονικός δίσκος στο disk management οπότε και τον κάνουμε initialize

clip_image004

Μετά δημιουργούμε single volume πάνω στον vhd και στη συνέχεια αναθέτουμε drive letter, έστω το x: με ένα label π.χ. WS2k8R2

Αν δεν σου αρέσει ο wizard έχουμε και εντολές τις οποίες δίνουμε στο cmd

DISKPART

CREATE VDISK FILE="c:\vhd\WS2K8R2.vhd" MAXIMUM=20000

SELECT VDISK FILE=" c:\vhd\WS2K8R2.vhd "

ATTACH VDISK

CREATE PARTITION PRIMARY

ASSIGN LETTER=X

FORMAT QUICK LABEL= WS2K8R2

EXIT

Μεταφορά WIM image από DVD στο VHD

Στη συνέχεια κατεβάζουμε το WAIK και το εγκαθιστούμε στο σύστημα. Από αυτό χρειαζόμαστε το imageX utility.

Τοποθετούμε το DVD των WS 2008 R2 και από εκεί θα πάρουμε το install.wim και θα μεταφέρουμε τα περιεχόμενα του στο VHD που φτιάξαμε παραπάνω:

clip_image006

d:\imagex>imagex /apply d:\install.wim 1 x:\

Στο παράδειγμα θεωρώ ότι στο partition d: έχω μεταφέρει το περιεχόμενο του WAIK και συγκεκριμένα το imagex σε ένα folder και ομοίως ότι έχω αντιγράψει το περιεχόμενο του dvd των WS 2008 R2 σε ένα άλλο folder στο d:

Στην παραπάνω εντολή, μετά το 'd:\install.wim' υπάρχει το '1'. Αυτό υποδηλώνει ποια από τις εκδόσεις που έχει μέσα το DVD των WS 2008 R2 θέλω να βάλω. Δηλαδή enterprise, standard, core κλπ.

Για να δούμε το index number αυτού που θέλουμε να εγκαταστήσουμε δίνουμε την εντολή d:\imagex>imagex /info "d:\wim στο dvd>\install.wim"

Επέμβαση στο boot loader για εκκίνηση από το VHD

Το τελευταίο βήμα είναι η προσθήκη του vhd στο boot μενού. Το εργαλείο εδώ είναι το BCDEdit.exe που υπάρχει στο σύστημα.

Ανοίγουμε Elevated Command Prompt με Administrator Privileges και δίνουμε:

C:\>bcdedit /copy {current} /d "Βάλε την περιγραφή του VHD που θές"

Αυτό θα προσθέσει εγγραφή στο boot μενού και θα επιστρέψει ένα guid το οποίο αντιγράφουμε και το τοποθετούμε στα παρακάτω commands όπου υπάρχει η ένδειξη

C:\>bcdedit /set device vhd=[driveletter:]\\

C:\>bcdedit /set osdevice vhd=[driverletter:]\\

C:\>bcdedit /set detecthal on

Για το παράδειγμα μας οι εντολές θα είναι:

C:\>bcdedit /set device vhd=[c:]\vhd\w2k8r2.vhd

C:\>bcdedit /set osdevice vhd=[c:]\vhd\w2k8r2.vhd

C:\>bcdedit /set detecthal on

Για να δούμε αν πετύχαμε δίνουμε την εντολή C:\>bcdedit /v οπότε και θα εμφανιστεί η εγγραφή όπως θα φαίνεται στο boot menu.

Αν έγινε λάθος και θέλουμε να σβήσουμε το entry δίνουμε:

C:\>bcdedit /delete /cleanup

Στο επόμενο restart στο boot μενού θα υπάρχει το νέο σύστημα και μπορούμε να το επιλέξουμε για να δουλέψουμε με αυτό.

Είτε ξεκινήσουμε από το κανονικό σύστημα είτε από το vhd τα περιεχόμενα είναι διαθέσιμα. Δηλαδή αν ξεκινήσουμε από το vhd το υπόλοιπο σύστημα θα φαίνεται με ένα drive letter στον windows explorer, ενώ αν ξεκινήσουμε από το κανονικό, μπορούμε να φορτώσουμε το vhd και να αλληλεπιδράσουμε με τα αρχεία που περιλαμβάνει χρησιμοποιώντας την τεχνική του πρώτου βήματος (attach vhd).

Αν θέλουμε αυτό το vhd να δωθεί και σε άλλα pc και να γίνει πραγματικά ανεξάρτητο από το hardware, το φορτώνουμε σε ένα server με Hyper-V, δημιουργούμε ένα VM και του κάνουμε sysprep. Στη συνέχεια μπορεί να φορτωθεί σε όσα διαφορετικά συστήματα θέλουμε.

Σε επόμενο post θα δούμε πως bootάρουμε μόνο απο το vhd χωρίς να υπάρχει τίποτα άλλο στο σύστημα.

 Share

16 Comments


Recommended Comments

Προφανώς το παραπάνω θέμα το έχει παριλάβει σε webcast ο frees76, αλλά είπα να το ανέβάσω και γω για να μπορεί κάποιος να κάνει copy paste τις εντολές.

Link to comment

Ευχαριστούμε Νάσο!

 

Να σημειώσω ότι για Vista & Server 2008 χρειάζεται "κόλπο" για να παίξει.

 

Στη Θεσσαλονίκη το είχαμε παρουσιάσει στο Event του Ιουνίου 2009.

Link to comment

Τι κόλπο? Περιμένουμε να μας το πείτε.

Προφανώς βέβαια εννοείς όταν το βασικό λειτουργικό είναι vista πρέπει να κάνεις κόλπο.

Link to comment

Βασικά αντιμετώπισα ένα πρόβλημα προσπαθώντας να κάνω VHD boot ενός Vista λειτουργικού, θα το ξαναδοκιμάσω και σας αναφέρω.

Link to comment

Το host μπορει να είναι vista

ΑΛλά δυστυχώς χρειάζεται αντικατάσταση μία σειρά απο αρχεία με τα αντίστοθχα των win7 και μάλιστα με όχι και τόσο εύκολο τρόπο. Οπότε στην ουσία πρόκειται για χαρακτηριστικό των 7 και του WS2008R2

Link to comment

Πολύ χρήσιμο Το έκανα σήμερα και έπαιξε ΕΠΙΤΕΛΟΥΣ!!!

 

Μία λεπτομέρεια που μου είχε ξεφύγει (και μου άνοιξε τα μάτια ο Νάσος) ο Δίσκος C: πρέπει να είναι μέσα σε αγγείλες [C:] δηλαδή η εντολή που γράφει ο Νάσος επάνω C:\>bcdedit /set device vhd=c:\vhd\w2k8r2.vhd πρέπει να γίνει C:\>bcdedit /set device vhd=[c:]\vhd\w2k8r2.vhd

 

ΚΟΡΥΦΑΙΟ ΑΡΘΡΟ!!!! Ευχαριστώ Νάσο

 

Link to comment

Είχα αναφέρει παραπάνω ότι θα επανέλθω για τα Windows Vista/2008 Server, αντιγράφω απο το Virtualization Team Blog ( http://blogs.technet.com/virtualization/archive/2009/05/14/native-vhd-support-in-windows-7.aspx):

 

When Windows boots from a VHD file, all the ‘disk I/O’ to load the kernel device drivers, start system services, and run applications is translated to I/O to the VHD file initially, and then to I/O to the NTFS volume and the physical disk. On shutdown, all outstanding write operations flush to the VHD file and underlying physical partition in the proper order before the storage stack shuts down the disk device. Because of these enhancements to core parts of the system, native VHD boot only works for VHDs containing Windows 7 or Windows Server 2008 R2 and not earlier versions of Windows. Native VHD boot in this release does not support BitLocker, or hibernation (which includes resuming from hibernate).

 

Τουτέστιν, δεν μπορείτε να έχετε VHD bootable λειτουργικά προηγούμενα των Windows 7 και Windows Server 2008 R2.

Link to comment

Πριν από μερικές ημέρες ετοίμαζα το Lab μηχάνημα για τα Demos της ομιλίας μας με το Νάσο Κλαδάκη στο

Link to comment

Καλά για να πάρω το ImageX πρέπει να κατεβάσω τα 1,7GB του WAIK και δεν ξέρω εγώ πόσο χώρο θα πάρει στο σύστημά μου για να το εγκαταστήσω; Γιατί όλη αυτή η "ματσολιά";

 

Δεν μπορούμε να το πάρουμε κάπως αλλιώς;

 

Γιατί ας πούμε δεν είναι μέσα στο Microsoft Deployment ToolKit;

 

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...