Téléchargez RUFUSLDR à partir d'ici: https://dl.dropboxusercontent.com/u/20170669/RUFUSLDR
Téléchargez ms-sys ici: http://prdownloads.sourceforge.net/ms-sys/ms-sys-2.3.0.tar. gz? download
Faites glisser le dossier ms-sys-2.3.0 vers un endroit qui prend en charge l'indicateur d'exécution (comme votre dossier de base Linux, très probablement). cd un terminal, tapez "make", puis "sudo make install". Vraiment facile.
Je sympathise avec toi. J'ai essayé des tutoriels sur la façon de créer, à partir de Windows, un lecteur USB amorçable dans le programme d'installation de WinXP. Le diskpart one, le WinToFlash et l'utilitaire HP USB Format ont tous échoué.
Rufus fonctionne réellement. Mais c'est un utilitaire Windows uniquement. Vous pouvez installer VirtualBox, installer Windows dans VirtualBox, installer Rufus dans la machine virtuelle, partager le lecteur USB sur la machine virtuelle et demander à Rufus de rendre le lecteur USB amorçable dans le programme d'installation de Windows XP.
Rufus ne prend actuellement pas en charge la création d'un programme d'installation USB WinXP amorçable à l'aide de fichiers d'installation lâches. Il faut voir l'iso. Vous avez donc VirtualBox monter l'iso pour installer XP dans la VM, mais cela apparaît comme des fichiers lâches (ne verra pas l'iso). Donc, pour que Rufus voit le fichier iso lui-même, partagez le répertoire sur votre machine hôte où l'iso est stocké sur la machine virtuelle. Pointez ensuite Rufus vers l'endroit où se trouve le fichier iso dans le lecteur réseau de la machine virtuelle (Z: \ ou autre).
BTW, vous pouvez également copier une image de disquette FreeDOS sur le lecteur, copier également les fichiers depuis l'iso et utiliser memdisk pour démarrer dans l'image de disquette. Depuis FreeDOS, exécutez i386 \ winnt.exe. L'inconvénient est que (à moins que vous n'ayez trouvé un pilote DOS NTFS?), Vous ne pourrez installer Windows que sur un volume FAT32, pas sur un volume NTFS.
Vous pouvez trouver le processus Rufus douloureusement lent en raison de votre présence dans une machine virtuelle (je ne comprends pas pourquoi, peut-être j'étais stupide de la façon dont je définissais les paramètres). Pour moi personnellement, sur mon ordinateur portable, cela a pris une heure, 5 minutes et 40 secondes, je crois que c'était le cas. Je vais vous dire comment le faire sans Rufus sous Linux. Nous allons imiter Rufus, mais d'abord, au cas où vous décideriez d'utiliser Rufus à partir de la machine virtuelle, sachez que Linux ne sera pas en mesure de voir la partition une fois que Rufus en aura terminé:
Rufus formate non seulement la partition, il refait le MBR (y compris la table de partition). Conservez donc tout ce qui se trouve sur la clé USB en premier.
Remarque: Rufus établit une astuce MBR qui, lorsqu'elle est exécutée par le BIOS, échange les deux premiers lecteurs BIOS (0x80 devient 0x81 et vice versa). De plus, il place un identifiant BIOS dans cette astuce MBR pour faire démarrer le lecteur en tant que 0x81 (le deuxième lecteur). Pourquoi je vous dis ceci: l'astuce MBR empêche Linux (et Grub2 v2.00) de lire la table de partition. Windows sera très bien avec lui (donnez-lui une lettre de lecteur et tout) et le lecteur sera amorçable. Mais Linux ne verra pas la partition et ne pourra donc pas la monter. Aucun problème. Enregistrez le MBR dans un fichier:
sudo dd if=/dev/sdX of=~/Desktop/rufus_trick_mbr count=1 bs=512
Utilisez maintenant fdisk pour lui donner un nouveau MBR. Vous ne touchez même pas à la partition elle-même, vous lui donnez simplement un nouveau MBR. En fait, rien n'est fait dans fdisk jusqu'à ce que vous appuyiez sur "w".
sudo fdisk /dev/sdX
p //Print partition table. fdisk, unlike the kernel, CAN make sense of the partition table as-is.
You'll probably see the partition start on sector 2048 and go to the end.
o //Tells fdisk to make a new partition table
n //create new partition. By defualt, fdisk should also make the partition start at sector 2048 and go to the end. Make sure the partition starts where it used to and ends where it used to.
select primary
t //change partition type id
7 //for ntfs
p //Make sure everything is right. And no, don't worry about the boot flag.
w //when you're sure. Remember, we saved the old mbr and can undo any mess-ups made here with dd.
Nous pouvons également créer de nouveaux dégâts avec dd:
HAMMOND - "Ne vous inquiétez pas, je ne fais plus les mêmes erreurs." MALCOLM - "Non, non, vous en faites de nouvelles."
-Jurassic Park II, Le monde perdu
Débranchez et rebranchez la clé USB. Si rien d'autre, / dev / sdXY devrait au moins exister maintenant (avant seulement / dev / sdX existait - pas de "Y"). Pour le monter, ntfs-3g doit être installé. S'il est installé, voyez s'il a déjà été monté (devrait apparaître sur le bureau ou dans le volet gauche du navigateur de fichiers si c'est le cas). Sinon, montez-le vous-même. Vous pouvez d'abord essayer de le monter avec le navigateur de fichiers. Voici comment le monter manuellement:
sudo mount -t ntfs-3g /dev/sdXY [mount point]
Faites ce que vous voulez en faire sous Linux.
Si vous le souhaitez, remettez rufus_trick_mbr sur:
sudo dd if=~/Desktop/rufus_trick_mbr of=/dev/sdX bs=512 count=1 //No "Y"! Just /dev/sdX!
Mais vous n'avez pas à remettre l'astuce MBR. Vous pouvez utiliser la commande ntldr de Grub2 pour charger / BOOTMGR à la place. (Il faudra probablement faire d'abord "insmod ntldr" pour insérer le module ntldr.)
Voici ce qui se passe:
Rufus définit l'astuce MBR avec une entrée de table de partition, formate cette partition en NTFS, place des éléments dans le secteur de démarrage de cette partition qui ne préoccupent que les chargeurs de démarrage de style ntldr, copie les fichiers hors iso sur la partition, copie NTDETECT.COM de la dossier i386 et le place au niveau racine, copie txtsetup.sif du dossier i386, le place au niveau racine ET ajoute une ligne, que github, c0m / pbatard / rufus / wiki / Targets-Supported ne mentionne pas, donc merci "openssl md5" et cmp de me l'avoir signalé.
roulement de tambour : ET copie SETUPLDR.BIN du dossier i386 au niveau racine, le renomme BOOTMGR ET corrige ce fichier binaire. Oui, c'est l'astuce. SETUPLDR.BIN, lorsqu'il est démarré à partir du CD, détecte qu'il a été démarré à partir du CD et recherche des informations dans le dossier i386. S'il a démarré à partir d'un disque dur, il détecte qu'il a démarré à partir d'un disque dur, recherche un dossier minint à la place et, s'il est trouvé, recherche un dossier $ WIN_NT $ ~ BT pour commencer la deuxième phase de l'installation (après le redémarrage et lorsque vous démarrez sur le disque dur cible). Vous ne pouvez donc même pas simplement renommer "i386" en "minint". Vous devez modifier SETUPLDR.BIN pour rechercher dans le dossier i386 même lors du démarrage d'un disque dur (tel qu'un lecteur USB).
Je pense que c'est un terme impropre pour Rufus d'appeler le binaire modifié "BOOTMGR". C'est ce que Vista et 7 (et 8?) Utilisent, pas XP. BOOTMGR ne cherche même pas un fichier boot.ini comme NTLDR (dont SETUPLDR est une version modifiée). Je l'ai donc renommé "RUFUSLDR" et l'ai mis en téléchargement. De plus, vous voudriez pouvoir le différencier de tous les vrais BOOTMGR que vous pourriez avoir.
Rufus vous oblige à formater le disque en NTFS si vous appliquez une iso d'installation Windows. Je pense que cela est dû à l'aperçu du développeur x64 Windows 8 contenant un fichier> 4 Go, que FAT32 ne peut pas prendre en charge. Mais cela ne s'applique pas ici. Nous n'avons aucun fichier proche de 4 Go. Vous pouvez utiliser FAT32 et être très bien.
Imitons Rufus de Linux (ou à peu près n'importe quel unixoïde, je suppose):
Assurez-vous que le lecteur est compatible MBR. fdisk lancera un avertissement s'il s'agit de GPT et vous donnera également la possibilité de le faire en mode MBR (option "o"). Moins destructif, gdisk vous permettra de convertir votre lecteur à schéma GPT en un lecteur à schéma MBR si vous avez 4 partitions ou moins. Gdisk vous permettra également de faire de votre disque un disque hybride à schéma MBR / GPT où vous pouvez choisir jusqu'à 3 partitions pour être visibles par les choses qui ne connaissent pas GPT (le 4ème emplacement est occupé pour une partition de protection qui couvre le reste). Même si vous utilisez simplement fdisk, tant que la nouvelle entrée de table de partition démarre et s'arrête aux mêmes endroits, vous ne perdrez pas votre partition; assurez-vous simplement de mettre à zéro le GPT secondaire à la fin du disque.
Assurez-vous que la partition est formatée en FAT32 ou NTFS. N'oubliez pas que FAT32 est plus convivial pour toutes les plates-formes. S'il est déjà formaté en FAT32 ou ntfs, vous n'avez pas besoin de le formater:
sudo blkid / dev / sdXY [dira système de fichiers ici, avec UUID, étiquette, etc.]
Si ce n'est pas FAT32 ou NTFS, effectuez l'une des actions suivantes:
sudo mkdosfs -F 32 -n [insert volume label (name) here] /dev/sdXY
sudo mkntfs -L [insert volume label here] /dev/sdXY
3 Appliquez ce truc magique du secteur de démarrage sur lequel DOS / Windows est si capricieux:
sudo ms-sys -w /dev/sdXY
* A propos de cela - "-w" signifie "écrire" - juste écrire. Au lieu de spécifier quoi écrire. Ainsi "-w" est le mode automatique de ms-sys: il détermine le meilleur type de données du secteur de démarrage à écrire pour la situation. J'ai été surpris de trouver que l' auto avait raison: pour une partition FAT32, j'ai besoin ms-sys FAT32 DOS bootsector pas FAT32 pour ms-sys NT de bootsector, que je pensais que je aurais besoin de charger un derivitive de _NT_LDR (NT Loader) (setupldr. BIN est une version modifiée de NTLDR et RUFUSLDR une version modifiée de SETUPLDR.BIN).
4 Pour faire bonne mesure, écrivez également des éléments de géométrie sur la partition. Cela ne change pas la géométrie du disque, il laisse juste une note sur la géométrie pour des choses trop paresseuses pour en savoir plus sur la géométrie par elles-mêmes:
sudo ms-sys -p /dev/sdXY
* Remarque: l'étape 4 ne s'applique pas à NTFS. * Autre remarque: assurez-vous que votre version du noyau linux est> 2.6. Le noyau 2.6 avait un bogue qui signalait le mauvais nombre de têtes (une chose de géométrie). Ainsi, l'option "-p" peut mettre les mauvaises informations dans le noyau 2.6. L'option "-H", qui permet à l'utilisateur de spécifier manuellement le nombre de têtes à enregistrer, est la solution de contournement. Mais vraiment, il vous suffit de mettre à jour votre noyau à la place. Si vous utilisez 2.6, vous êtes en retard. Pour indiquer la version de votre noyau, faites:
uname -r
5 Copiez les fichiers depuis l'iso, le dossier, peu importe. De nombreuses distributions montent des isos en double-cliquant dessus, ou au moins offrent la possibilité d'ouvrir avec un monteur d'archives sous clic droit> ouvrir avec. Si ce n'est pas le cas pour vous, procédez comme suit:
sudo mount -o loop (path to iso) (path to desired mount point)
6 Placez le fichier SETUPLDR.BIN (RUFUSLDR) modifié au niveau racine.
7 Copiez NTDETECT.COM d'i386 au niveau racine.
8 Copiez txtsetup.sif d'i386 au niveau racine.
9 Ouvrez la nouvelle copie de txtsetup.sif et Ctrl + F pour "[SetupData]". Sous cet en-tête, mettez cette ligne:
SetupSourceDevice = "\device\harddisk1\partition1"
10 Installez un chargeur de démarrage capable de charger des chargeurs de démarrage de type NTLDR sur le lecteur, ou sur un autre lecteur que vous utiliserez pour démarrer ce lecteur, ou utilisez un chargeur de démarrage existant. Si Grub2 est installé sur votre disque dur pour démarrer Ubuntu, vous pouvez simplement appuyer sur "c" une fois que vous voyez le menu pour entrer dans la ligne de commande Grub. Si vous avez Syslinux à la place, vous pouvez également l'utiliser. Je m'en tiendrai juste à Grub2 pour le tutoriel.
Pour installer Grub2 sur le disque (ce que vous n'aurez peut-être pas besoin de faire si vous utilisez le chargeur de démarrage existant de votre disque dur):
sudo grub-install --boot-directory=[mount point of disk, not iso] [/dev/sdxy]
11a. Créez une entrée grub.cfg ou exécutez manuellement ce qui suit:
grub> insmod ntldr //Inserts (loads) the Grub2 module used for loading NTLDR-style bootloaders.
grub> set root=(hdx,msdosy) //Replace x and y as appropriate. Sets the current directory to the target partition. Probably not needed if you booted off the drive you put the WinXP installer files on, but we always do this. Use "ls" to list all drives and partitions. If you only have one MBR-schemed disk with only one (or however many you made) partition(s), you'll be able to pick out which is your thumb drive. If not, try one and do "ls /". It will list the files on the root level of that partition. That should be a dead-giveaway. Notice that "ls" (without slash) lists drives and partitions, and "ls /" (with slash) lists the files on the root level of the partition that is the current working directory.
grub> ntldr /RUFUSLDR //Tells it to load RUFUSLDR.
grub> boot //That's the "go button".
11b. En tant qu'entrée grub.cfg, cela ressemblerait à ceci (ne pas aligner les crochets, c'est Grub, pas l'université !!):
menuentry "Windows XP Installer" {
insmod ntldr
search --no-floppy --fs-uuid --set=root [insert filesystem's UUID here, obtaind by "sudo blkid /dev/sdXY"]
ntldr /RUFUSLDR
}
// Notez que ce qui précède est un moyen beaucoup plus sûr de définir le répertoire de travail actuel de Grub. Notez également que "boot" est implicite pour les entrées de fichier de configuration.
// Notez également que bien qu'il soit habituel d'avoir une ligne "drivemap -s (hd0) $ {root}" pour démarrer Windows (fait du lecteur de Windows le premier lecteur du BIOS), le faire pour mon programme d'installation USB Windows XP l'a fait simplement redémarrez en essayant de démarrer le chargeur de démarrage de style ntldr. Si les choses ne fonctionnent pas et que vous êtes sûr d'avoir suivi toutes les étapes, essayez "drivemap -s (hd0) $ {root}"
// Soyez conscient si vous avez plus d'un lecteur USB inséré au démarrage. Votre système démarrera le lecteur USB amorçable le plus dominant lorsqu'il vous demandera de démarrer USB. Vous pouvez systématiquement déterminer quels ports USB dominent avec lesquels avec deux lecteurs USB amorçables. Pour moi, je n'ai pas eu à essayer de nombreuses combinaisons, car mes ports USB sont disposés en colonnes et des colonnes entières dominaient les autres colonnes. Dans une colonne, la plus haute dominait.
// Notez que si vous démarrez votre programme d'installation USB Windows XP à partir de Grub2 sur un autre lecteur, Grub2 ne verra que le lecteur USB le plus dominant (au moins sur mon système). Assurez-vous donc que votre programme d'installation USB WinXP se trouve dans l'emplacement le plus utilisé. (Ou changez simplement les deux si vous avez deux lecteurs USB et Grub2 voit le lecteur d'installation non WinXP.) Bien sûr, ce n'est pas un problème si un seul lecteur USB est inséré.
// S'il redémarre juste, assurez-vous que vous avez fait "sudo ms-sys -w / dev / sdXY" et, si FAT32, "sudo ms-sys -p / dev / sdXY", ET copié NTDETECT.COM de i386 dans le niveau racine.
// S'il dit qu'il ne trouve rien, vous n'utilisez peut-être pas le chargeur de démarrage modifié. Assurez-vous que vous utilisez celui modifié. (Aura md5 différent de i386 / SETUPLDR.BIN.) Assurez-vous également que txtsetup.sif et NTDETECT.COM sont au niveau racine.
// S'il indique d'insérer le CD de Windows XP SP3, assurez-vous d'avoir ajouté cette ligne à txtsetup.sif ET que vos fichiers CD Ident sont corrects (WIN51, WIN51IP, etc.). Supprimez simplement les fichiers CD Indent et recopiez-les en cas de doute.
// S'il indique que vous devez insérer un disque pour prouver que vous êtes admissible à l'installation de la mise à niveau, y a-t-il des disques GPT insérés? C'est peut-être la cause du problème. Débranchez tous les disques avec schéma GPT ou convertissez-les en MBR sous Linux. (comme éteindre l'ordinateur, débrancher, réessayer. Pas seulement tirer.)
// BTW, pour installer sur une clé USB, vous devrez faire le hack sur ngine.de/article/id/8. Oui, il est possible d'installer Windows XP DE USB À USB.
Prendre plaisir,
Jake XD