J'ai trois partitions primaires/de base:
sda1
. Lecteur racine Ubuntu 11.10 (40 Go)sda2
. Racine FreeBSD (20 Go)sda3
. Lecteur racine Windows XP (4 Go)J'ai une partition logique/étendue, sda4
de 234 Go, divisée en cinq disques (sda6
~ 9
).
La partition principale n ° 3 (sda3
) ne dispose que de 4 Go d'espace disque, ce qui est très insuffisant (je n'ai besoin de Windows que pour MS Office et de quelques logiciels d'ingénierie étranges; je souhaite donc utiliser le moins possible, mais de manière efficace, espace pour cela).
Puis-je installer Windows XP sur l’un des disques (sda6
~ 9
) de la partition logique/étendue sans endommager la structure de la table de partition et dans TOUS les éléments principal et logique partitions/disques?
Partitions structure: /dev/sda
/dev/sda1 ext4 / Oneiric-Ocelot 40G
/dev/sda2 ufs FreeBSD 20G
/dev/sda3 ntfs WinXP Pro 4G #This will be formatted 'ext4' & contents of '/Mix' will come here
/dev/sda4 extended 234G
/dev/sda5 ext4 /Docs Docs 34G
/dev/sda6 ext4 /Multimedia Multimedia 186G
/dev/sda7 unallocated 2MB
/dev/sda8 ext4 /Mix Mix 10G #Windows XP is to be installed here
/dev/sda9 linux-swap 04G
Windows peut être installé non seulement sur une partition principale, mais également sur une partition logique. Oui, le chargeur de démarrage de Windows installé sur une partition logique ne s'exécutera pas, mais il peut toujours être démarré par le chargeur de démarrage d'un système d'exploitation situé sur une partition principale.
Cela s'applique aux utilisateurs qui souhaitent installer Windows sur une partition logique avec une autre version préinstallée de Windows sur la partition principale. Cela a été fait par le logiciel EasyBCD .
J'ai une autre chose qui fonctionne, beaucoup plus complexe, mais qui fonctionne aussi.
Tout d’abord un avertissement pour ce schéma: Si vous n’avez qu’un seul disque dur, il est possible que vous ne puissiez pas installer Windows car le schéma est (je n’ai pas essayé, j’ai utilisé une précédente fenêtre installée sur un disque MBR par clonage de Windows. partition avec GParted).
Les impératifs que je m'impose (pour rendre les choses vraiment compliquées):
Remarque: j’ai laissé XP (ne prend pas en charge GPT), uniquement pour Vista jusqu’à 10.
Le schéma de démarrage correspond au chargement du BIOS Grub2, puis le memdisk est chargé et un fichier VHD (un par Windows) est monté et chargé en chaîne.
Ce disque dur virtuel doit avoir une taille fixe (pour permettre au memdisk lo loop de le monter au démarrage), il s’agit d’un disque dur virtuel doté d’un schéma MBR (nécessaire pour démarrer Windows) avec une seule partition NTFS; le disque dur virtuel lui-même est stocké sur un partition NTFS GPT. Ces fichiers VHD font l'isolation de Windows, chaque fenêtre a son propre BCD, ils n'utilisent pas tous le même BCD, il n'est donc pas nécessaire de présenter au démarrage un menu de démarrage de Windows.
À l’intérieur de ce disque dur virtuel, la partition n’est utilisée que pour le code d’amorçage NT60 et le matériel BCD. J'ai utilisé 32MiB pour ce type de disque dur virtuel, et je n'obtiens que près de 2MiB gratuits, et ainsi n'utilisez pas moins de taille ou ne mettez pas tous les répertoires locaux BCD, etc.
Pour que tout cela fonctionne, vous devez mettre le code nt60 et BCD sur ce fichier VHD, de sorte que le fichier VHD doit être monté, ce qui peut être fait avec diskpart et avec le support d'installation.
Je n’ai pas essayé de faire une installation complète. En théorie, si vous montez ce disque dur virtuel, insérez le code nt60 et BCD dans l’installation, l’installation doit vous permettre de continuer (il peut voir un disque MBR et penser qu’il est préconfiguré). avec une autre fenêtre).
J'ai essayé avec de nombreuses versions Windows Home 32 bits (de Vista à 10) et elles démarrent toutes correctement à partir d'un disque GPT, puisqu'elles voient toutes au démarrage un disque virtuel MBR où se trouvent le code de démarrage nt60 et BCD.
Maintenant, j'essaie une approche/un test différent:
Je sais que, si aucune partition principale n’est présente, Windows ne pourra pas démarrer, mais là encore, je vais utiliser l’astuce consistant à disposer d’un disque virtuel MBR avec une partition NTFS principale dans laquelle je mets du code de démarrage NT60 et des éléments BCD; un par fenêtres.
Conceptuellement, cela doit aussi fonctionner, puisque Grub2 peut être démarré à partir de partitions logiques (ainsi que de la plupart des Linux, etc.).
Pourquoi je fais toutes ces choses complexes? La réponse facile pourrait être un cryptage à 100%, chaque fenêtre ayant son propre mot de passe, etc.
Réponse complexe:
Donc, avec le schéma GPT, DiskCryptor ne fonctionne pas au démarrage, je lis le code source et il n’a pas de code pour monter les partitions GPT au démarrage, donc:\Windows\System32\Winload.exe ne peut pas être trouvé, donc Windows démarrage. J'ai testé avec deux disques durs physiques avant de télécharger le code source, je devenais en colère, alors j'ai décidé de télécharger le code source car je pouvais voir le code source manquant pour le montage GPT au démarrage.
Puisque DiskCryptor peut monter automatiquement au démarrage plus d’une partition MBR (toutes celles qui utilisent le même mot de passe seront montées), j’essaie maintenant d’utiliser la partition 100% étendue.
Pourquoi ne pas mettre une partition primaire physique et y stocker l'ode de démarrage nt60 et le matériel BCD? De cette façon, toutes les fenêtres peuvent être installées et démarrées en mode natif, sans besoin de rien de plus; mais ils ne seront pas isolés à 100%, ils partageront cette partition, donc si on y touche mal, personne ne pourra démarrer, et encore chiffrer 100% du disque (toutes les partitions, pas le secteur de démarrage, pas la table de partition, etc.) ) ne sera pas possible en mode isolé, au moins un mot de passe doit être utilisé pour toutes les fenêtres au moment du démarrage.
Imaginez un scénario réel:
La meilleure approche consiste à utiliser un disque SATA externe (comme s'il était interne), qu'ils emportent avec eux-mêmes.
Mais je veux que ce soit interne, etc.
Le véritable motif est que j'aime faire des choses dures, complexes et pas déjà faites; J'aime tester mes propres compétences, c'est aussi un moyen d'apprendre beaucoup.
Espérons que vos esprits sont maintenant plus ouverts aux méthodes alternatives de démarrage de Windows.
PD: Avec Linux, cela est beaucoup plus facile, Windows rend les choses plus difficiles que ce qui est nécessaire (charge de code nt60 bootmgr, qui a une recherche codée pour uniquement la partition active principale du MBR où il essaiera de lire winload.exe , etc).
Vous pouvez installer Windows sur une partition étendue/logique si vous avez déjà une partition principale NTFS de rechange sur le même disque dur. Le programme d'installation Windows installera le système d'exploitation sur la partition étendue choisie, mais il aura besoin de la partition principale NTFS pour installer le chargeur de démarrage.
Une fois Windows installé, vous pouvez supprimer la partition principale NTFS de rechange, si vous le souhaitez. Mais vous devrez ensuite installer le chargeur de démarrage BCD sur la partition logique sur laquelle vous avez installé Windows. Utilisez bcdboot
après avoir démarré à l’invite Invite de la commande de récupération Windows (à l’aide du CD d’installation de Windows). Remplacez la lettre de lecteur en fonction de votre situation, puis exécutez la commande suivante ...
bcdboot i:\windows /s i:
Où i: est la lettre de lecteur attribuée par le CD d’amorçage à la partition sur laquelle Windows a été installée. Utilisez la commande Windows diskpart pour déterminer quelle lettre de lecteur est affectée à quel volume.
Vous devrez maintenant configurer GRUB2 pour démarrer directement à partir de cette partition. Démarrez Ubuntu et exécutez la commande suivante ...
Sudo update-grub
Le menu GRUB2 devrait maintenant lister Windows en option.
Remarque: Si plusieurs versions de Windows sont installées sur la machine, vous devez envisager d'utiliser la commande GRUB2 parttool dans votre fichier grub.cfg pour masquer les partitions des autres systèmes d'exploitation au moment du démarrage.
parttool (hd0,2) hidden- # Unhide the partition for current OS
parttool (hd0,3) hidden+ # Hide the partition for the other OS