Laden Sie RUFUSLDR hier
herunter : https://dl.dropboxusercontent.com/u/20170669/RUFUSLDR Laden Sie ms-sys hier herunter: http://prdownloads.sourceforge.net/ms-sys/ms-sys-2.3.0.tar. gz? download
Ziehen Sie den Ordner ms-sys-2.3.0 an eine Stelle, die das Ausführungsflag unterstützt (wahrscheinlich an Ihren Linux-Basisordner). cd ein terminal dort, tippe "make" und dann "sudo make install". Ganz einfach.
Ich fühle mit dir. Ich habe Tutorials ausprobiert, wie man unter Windows ein USB-Laufwerk erstellt, das mit dem WinXP-Installationsprogramm bootet. Das Disk-Part-One, das WinToFlash-One und das HP USB Format-Utility-One haben alle versagt.
Rufus funktioniert tatsächlich. Es handelt sich jedoch nur um ein Windows-Dienstprogramm. Sie können VirtualBox installieren, Windows in VirtualBox installieren, Rufus in der VM installieren, das USB-Laufwerk für die VM freigeben und Rufus das USB-Laufwerk im Windows XP-Installationsprogramm bootfähig machen lassen.
Rufus unterstützt derzeit nicht die Erstellung eines bootfähigen USB-WinXP-Installationsprogramms mit losen Installationsdateien. Es muss die ISO sehen. Sie haben also VirtualBox, um die ISO zu mounten, um XP auf der VM zu installieren, aber das wird als lose Dateien angezeigt (die ISO wird nicht angezeigt). Damit Rufus die ISO-Datei selbst sehen kann, geben Sie das Verzeichnis auf Ihrem Host-Rechner frei, in dem die ISO-Datei auf der VM gespeichert ist. Zeigen Sie dann mit Rufus auf das Netzwerklaufwerk der VM, in dem sich die ISO-Datei befindet (Z: \ oder was auch immer).
Übrigens können Sie auch einfach ein FreeDOS-Disketten-Image auf das Laufwerk kopieren, die Dateien auch von der ISO kopieren und mit memdisk das Disketten-Image starten. Führen Sie unter FreeDOS i386 \ winnt.exe aus. Der Nachteil ist, dass Sie (sofern Sie keinen DOS-NTFS-Treiber gefunden haben?) Windows nur auf einem FAT32-Volume installieren können, nicht auf einem NTFS-Volume.
Möglicherweise ist der Rufus-Prozess aufgrund der Verwendung einer virtuellen Maschine sehr langsam (ich verstehe nicht, warum, vielleicht war ich dumm, wie ich die Einstellungen vorgenommen habe). Für mich persönlich hat es auf meinem Laptop eine Stunde, 5 Minuten und 40 Sekunden gedauert, glaube ich. Ich werde Ihnen sagen, wie es ohne Rufus unter Linux geht. Wir werden Rufus imitieren, aber wenn Sie sich stattdessen für Rufus von der VM entscheiden, müssen Sie beachten, dass Linux die Partition nicht sehen kann, nachdem Rufus damit fertig ist:
Rufus formatiert nicht nur die Partition, sondern stellt auch den MBR (einschließlich Partitionstabelle) wieder her. Speichern Sie also zuerst alles vom USB-Stick.
Hinweis: Rufus legt einen Trick-MBR fest, der bei Ausführung durch das BIOS die ersten beiden BIOS-Laufwerke austauscht (0x80 wird zu 0x81 und umgekehrt). Zusätzlich wird eine BIOS-ID in diesen Trick-MBR eingefügt, um das Laufwerk als 0x81 (zweites Laufwerk) zu starten. Warum ich Ihnen das sage: Der MBR-Trick führt dazu, dass Linux (und Grub2 v2.00) die Partitionstabelle nicht lesen können. Windows wird damit einverstanden sein (geben Sie einen Laufwerksbuchstaben und alles) und das Laufwerk wird bootfähig sein. Aber Linux wird die Partition nicht sehen und kann sie daher nicht mounten. Kein Problem. Speichern Sie den MBR in der Datei:
sudo dd if=/dev/sdX of=~/Desktop/rufus_trick_mbr count=1 bs=512
Verwenden Sie nun fdisk, um einen neuen MBR zu erstellen. Sie berühren nicht einmal die Partition selbst, sondern geben ihr lediglich einen neuen MBR. In fdisk wird eigentlich nichts getan, bis Sie "w" drücken.
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.
Wir können mit dd auch neue Fehler machen:
Hammond: Mach dir keine Sorgen, ich mache nicht wieder die gleichen Fehler. Malcolm: Nein, nein, du machst alle neuen.
-Jurassic Park II, Die Verlorene Welt
Trennen Sie das USB-Stick vom Computer und schließen Sie es wieder an. Wenn nichts anderes ist, sollte / dev / sdXY zumindest jetzt existieren (vorher existierte nur / dev / sdX - kein "Y"). Um es zu mounten, sollte ntfs-3g installiert sein. Wenn es installiert ist, prüfen Sie, ob es bereits bereitgestellt wurde (sollte auf dem Desktop oder im linken Bereich des Dateibrowsers angezeigt werden, wenn dies der Fall ist). Wenn nicht, montieren Sie es selbst. Sie können versuchen, es zuerst mit dem Dateibrowser zu mounten. So hängen Sie es manuell ein:
sudo mount -t ntfs-3g /dev/sdXY [mount point]
Mach was du willst damit in Linux.
Wenn Sie möchten, setzen Sie rufus_trick_mbr wieder auf:
sudo dd if=~/Desktop/rufus_trick_mbr of=/dev/sdX bs=512 count=1 //No "Y"! Just /dev/sdX!
Aber Sie müssen den Trick MBR nicht erneut anwenden. Sie können stattdessen den Befehl ntldr von Grub2 verwenden, um / BOOTMGR zu laden. (Möglicherweise muss zuerst "insmod ntldr" ausgeführt werden, um das ntldr-Modul einzufügen.)
Folgendes passiert:
Rufus legt den Trick MBR mit einem Partitionstabelleneintrag fest, formatiert diese Partition als NTFS, legt die Daten im Bootsektor dieser Partition ab, die nur Bootloader im Stil von ntldr berücksichtigen, kopiert Dateien von iso auf die Partition und kopiert NTDETECT.COM von der i386-Ordner und legt es auf der Stammebene, kopiert txtsetup.sif aus dem i386-Ordner, legt es auf der Stammebene und fügt eine Zeile hinzu, die github, c0m / pbatard / rufus / wiki / Targets-Supported, so nicht erwähnt danke "openssl md5" und cmp für den hinweis.
drum roll : AND kopiert SETUPLDR.BIN aus dem i386-Ordner in die Root-Ebene, benennt es in BOOTMGR um und patcht dieses Binary. Ja, das ist der Trick. SETUPLDR.BIN erkennt beim Booten von CD, dass es von CD gebootet wurde, und durchsucht den i386-Ordner nach Dingen. Wenn von einer Festplatte gebootet, wird festgestellt, dass es von einer Festplatte gebootet wurde, und stattdessen wird nach einem Minint - Ordner gesucht. Wenn er gefunden wird, wird nach einem $ WIN_NT $ ~ BT - Ordner gesucht, um die zweite Installationsphase zu starten (nach dem Neustart und beim Booten der Zielfestplatte). Sie können also nicht einmal "i386" in "minint" umbenennen. Sie müssen SETUPLDR.BIN so ändern, dass es auch dann im i386-Ordner angezeigt wird, wenn Sie von einer Festplatte (z. B. einem USB-Laufwerk) booten.
Ich denke, es ist eine falsche Bezeichnung für Rufus, die modifizierte Binärdatei "BOOTMGR" zu nennen. Das ist es, was Vista und 7 (und 8?) Verwenden, nicht XP. BOOTMGR sucht nicht einmal nach einer boot.ini-Datei wie NTLDR (von der SETUPLDR eine modifizierte Version ist). Also habe ich es in "RUFUSLDR" umbenannt und zum Download bereitgestellt. Außerdem möchten Sie in der Lage sein, es von echten BOOTMGRs zu unterscheiden, mit denen Sie möglicherweise herumrennen.
Rufus zwingt Sie, das Laufwerk als NTFS zu formatieren, wenn Sie ein Windows-Installations-ISO anwenden. Ich glaube, das liegt an der x64-Windows 8-Entwicklervorschau mit einer Datei> 4 GB, die FAT32 nicht unterstützt. Das gilt hier aber nicht. Wir haben keine Dateien in der Nähe von 4 GB. Sie können FAT32 verwenden und alles in Ordnung sein.
Lass uns Rufus von Linux imitieren (oder so ziemlich jedes Unixoid, denke ich):
Stellen Sie sicher, dass das Laufwerk ein MBR-Schema hat. fdisk gibt eine Warnung aus, wenn es sich um GPT handelt, und gibt Ihnen die Option, das MBR-Schema zu erstellen (Option "o"). Mit gdisk können Sie weniger destruktiv Ihr GPT-Laufwerk in ein MBR-Laufwerk konvertieren, wenn Sie 4 oder weniger Partitionen haben. Mit Gdisk können Sie Ihr Laufwerk auch zu einer MBR / GPT-Hybrid-Festplatte machen, auf der Sie bis zu 3 Partitionen auswählen können, die für GPT-Unbekannte sichtbar sind (der vierte Steckplatz ist für eine Schutzpartition vorgesehen, die den Rest abdeckt). Selbst wenn Sie nur fdisk verwenden, werden Sie Ihre Partition nicht verlieren, solange der neue Partitionstabelleneintrag an denselben Stellen gestartet und gestoppt wird. Stellen Sie einfach sicher, dass Sie das sekundäre GPT am Ende der Festplatte auf Null setzen.
Stellen Sie sicher, dass die Partition als FAT32 oder NTFS formatiert ist. Denken Sie daran, dass FAT32 plattformübergreifender ist. Wenn es bereits als FAT32 oder ntfs formatiert ist, müssen Sie es nicht formatieren:
sudo blkid / dev / sdXY [hier wird das Dateisystem zusammen mit der UUID, der Bezeichnung usw. angegeben]
Wenn es sich nicht um FAT32 oder NTFS handelt, führen Sie einen der folgenden Schritte aus:
sudo mkdosfs -F 32 -n [insert volume label (name) here] /dev/sdXY
sudo mkntfs -L [insert volume label here] /dev/sdXY
3 Wenden Sie das magische Bootsektor-Zeug an, das DOS / Windows so pingelig macht:
sudo ms-sys -w /dev/sdXY
* Darüber - "-w" steht für "schreiben" - nur schreiben. Im Gegensatz zu spezifizieren, was zu schreiben ist. Somit ist "-w" der Auto-Modus von ms-sys: Er bestimmt die beste Art von Bootsektor-Daten, die für die Situation geschrieben werden sollen. Ich war überrascht , dass Auto zu finden war richtig: für eine FAT32 - Partition, ich brauche ms-sys FAT32 DOS Boot - Sektor nicht ms-sys FAT32 NT Boot - Sektor, die ich dachte , ich müsste einen derivitive von _NT_LDR (NT - Loader) (setupldr laden. BIN ist eine modifizierte Version von NTLDR und RUFUSLDR eine modifizierte Version von SETUPLDR.BIN.
4 Schreiben Sie für eine gute Messung auch Geometrieelemente auf die Partition. Dies ändert nichts an der Geometrie der Festplatte, sondern hinterlässt lediglich eine Notiz über die Geometrie für Dinge, die zu faul sind, um selbst etwas über die Geometrie herauszufinden:
sudo ms-sys -p /dev/sdXY
* Hinweis: Schritt 4 gilt nicht für NTFS. * Ein weiterer Hinweis: Stellen Sie sicher, dass Ihre Linux-Kernel-Version> 2.6 ist. Kernel 2.6 hatte einen Fehler, der die falsche Anzahl von Köpfen meldete (eine Geometrie-Sache). Somit kann die Option "-p" die falschen Informationen in Kernel 2.6 eintragen. Die Option "-H", mit der der Benutzer die Anzahl der aufzunehmenden Köpfe manuell festlegen kann, ist die Problemumgehung. Aber wirklich, aktualisieren Sie stattdessen einfach Ihren Kernel. Wenn Sie 2.6 ausführen, sind Sie überfällig. Gehen Sie wie folgt vor, um Ihre Kernelversion zu ermitteln:
uname -r
5 Kopieren Sie die Dateien aus dem ISO-Ordner. Viele Distributionen mounten Isos durch Doppelklick oder bieten zumindest die Möglichkeit, mit einem Archivmount unter Rechtsklick> Öffnen mit zu öffnen. Wenn dies bei Ihnen nicht der Fall ist, gehen Sie folgendermaßen vor:
sudo mount -o loop (path to iso) (path to desired mount point)
6 Platzieren Sie die geänderte Datei SETUPLDR.BIN (RUFUSLDR) im Stammverzeichnis.
7 Kopieren Sie NTDETECT.COM von i386 in das Stammverzeichnis.
8 Kopieren Sie txtsetup.sif von i386 in das Stammverzeichnis.
9 Öffnen Sie die neue Kopie von txtsetup.sif und drücken Sie Strg + F für "[SetupData]". Schreiben Sie direkt unter diese Überschrift die folgende Zeile:
SetupSourceDevice = "\device\harddisk1\partition1"
10 Installieren Sie entweder einen Bootloader, mit dem Bootloader im NTLDR-Stil auf das Laufwerk geladen werden können, oder ein anderes Laufwerk, mit dem Sie dieses Laufwerk booten, oder verwenden Sie einen vorhandenen Bootloader. Wenn Sie Grub2 auf Ihrer Festplatte installiert haben, um Ubuntu zu booten, können Sie einfach "c" drücken, sobald Sie das Menü sehen, um die Grub-Befehlszeile aufzurufen. Wenn Sie stattdessen Syslinux verwenden, können Sie es auch verwenden. Ich bleibe nur bei Grub2 für das Tutorial.
So installieren Sie Grub2 auf der Festplatte (was Sie möglicherweise nicht tun müssen, wenn Sie den vorhandenen Bootloader Ihrer Festplatte verwenden):
sudo grub-install --boot-directory=[mount point of disk, not iso] [/dev/sdxy]
11a. Machen Sie entweder einen Eintrag in der Datei grub.cfg oder führen Sie manuell Folgendes aus:
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. Als grub.cfg-Eintrag würde das so aussehen (keine Anordnungsklammern, das ist Grub, nicht College !!):
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
}
// Beachten Sie, dass dies ein sicheres Mittel ist, um das aktuelle Arbeitsverzeichnis von Grub festzulegen. Beachten Sie auch, dass "boot" für Einträge in der Konfigurationsdatei impliziert ist.
// Beachte auch, dass es zwar üblich ist, eine "drivemap -s (hd0) $ {root}" -Zeile zum Booten von Windows zu haben (macht das Windows-Laufwerk zum ersten BIOS-Laufwerk) Starten Sie neu, wenn Sie versuchen, den ntldr-artigen Bootloader zu starten. Wenn die Dinge nicht funktionieren und Sie sicher sind, dass Sie alle Schritte ausgeführt haben, versuchen Sie "drivemap -s (hd0) $ {root}".
// Beachten Sie, dass beim Booten mehr als ein USB-Laufwerk angeschlossen ist. Ihr System bootet das am häufigsten verwendete bootfähige USB-Laufwerk, wenn Sie aufgefordert werden, USB zu booten. Mit zwei bootfähigen USB-Laufwerken können Sie systematisch herausfinden, welche USB-Ports zu welchen dominieren. Für mich musste ich nicht viele Kombinationen ausprobieren, da meine USB-Anschlüsse in Spalten angeordnet sind und ganze Spalten für andere Spalten dominieren. Innerhalb einer Kolonne dominierte die höhere.
// Beachten Sie, dass Grub2 beim Booten Ihres Windows XP-USB-Installationsprogramms von Grub2 auf einem anderen Laufwerk nur das dominierendste USB-Laufwerk erkennt (zumindest auf meinem System). Stellen Sie also sicher, dass sich Ihr WinXP USB-Installationsprogramm im am häufigsten verwendeten Steckplatz befindet. (Oder tauschen Sie einfach die beiden, wenn Sie zwei USB-Laufwerke haben und Grub2 das Nicht-WinXP-Installationslaufwerk erkennt.) Dies ist natürlich kein Problem, wenn nur ein USB-Laufwerk angeschlossen ist.
// Wenn es nur neu startet, stellen Sie sicher, dass Sie "sudo ms-sys -w / dev / sdXY" und, wenn FAT32, "sudo ms-sys -p / dev / sdXY" ausgeführt und NTDETECT.COM von i386 auf die kopiert haben Wurzelebene.
// Wenn angezeigt wird, dass nichts gefunden werden kann, verwenden Sie möglicherweise den geänderten Bootloader nicht. Stellen Sie sicher, dass Sie die geänderte Version verwenden. (Weist ein anderes md5 als i386 / SETUPLDR.BIN auf.) Stellen Sie außerdem sicher, dass sich txtsetup.sif und NTDETECT.COM auf der Stammebene befinden.
// Wenn Sie aufgefordert werden, die Windows XP SP3-CD einzulegen, vergewissern Sie sich, dass Sie diese Zeile zu txtsetup.sif hinzugefügt haben UND dass Ihre CD-Ident-Dateien in Ordnung sind (WIN51, WIN51IP usw.). Löschen Sie einfach die CD Indent-Dateien und kopieren Sie sie im Zweifelsfall zurück.
// Wenn angezeigt wird, dass Sie einen Datenträger einlegen müssen, um zu beweisen, dass Sie sich für die Upgrade-Installation qualifizieren, sind GPT-Datenträger eingelegt? Vielleicht verursacht dies das Problem. Entfernen Sie alle GPT-Festplatten, oder konvertieren Sie sie unter Linux in MBR. (Wie beim Ausschalten des Computers, ziehen Sie den Netzstecker, versuchen Sie es erneut. Nicht nur reißen.)
// Übrigens, um TO auf einem USB-Laufwerk zu installieren, müssen Sie den Hack unter ngine.de/article/id/8 ausführen. Ja, es ist möglich, Windows XP von USB zu USB zu installieren.
Genießen,
Jake XD