ดาวน์โหลด RUFUSLDR ได้จากที่นี่: https://dl.dropboxusercontent.com/u/20170669/RUFUSLDR
ดาวน์โหลด ms-sys ที่นี่: http://prdownloads.sourceforge.net/ms-sys/ms-sys-2.3.0.tar gz? download
ลากโฟลเดอร์ ms-sys-2.3.0 ไปยังตำแหน่งที่สนับสนุนการตั้งค่าการดำเนินการ (เช่นโฟลเดอร์บ้าน Linux ของคุณน่าจะ) cd เทอร์มินัลที่นั่นพิมพ์ "make" จากนั้น "sudo make install" ง่ายจริง
ฉันเห็นอกเห็นใจกับคุณ ฉันได้ลองแบบฝึกหัดเกี่ยวกับวิธีสร้างจาก Windows ไดรฟ์ USB ที่สามารถบู๊ตได้ในโปรแกรมติดตั้ง WinXP diskpart one, WinToFlash one และยูทิลิตีฟอร์แมต HP USB ล้มเหลวทั้งหมดฉัน
รูฟัสใช้งานได้จริง แต่มันเป็นยูทิลิตี้สำหรับ Windows เท่านั้น คุณสามารถติดตั้ง VirtualBox, ติดตั้ง Windows ภายใน VirtualBox, ติดตั้ง Rufus ใน VM, แชร์ไดรฟ์ USB ไปยัง VM, และให้ Rufus ทำให้ไดรฟ์ USB สามารถบูตได้ในตัวติดตั้ง Windows XP
Rufus ในปัจจุบันไม่รองรับการติดตั้ง USB WinXP ที่สามารถบู๊ตได้โดยใช้ไฟล์ติดตั้งหลวม มันต้องดู iso ดังนั้นคุณจึงมี VirtualBox ติดตั้ง iso เพื่อติดตั้ง XP ลงใน VM แต่นั่นแสดงเป็นไฟล์หลวม (จะไม่เห็น iso) ดังนั้นเพื่อให้รูฟัสเห็นไฟล์ iso เองให้แชร์ไดเร็กทอรีบนเครื่องโฮสต์ของคุณที่เก็บ iso ไว้ใน VM จากนั้นชี้รูฟัสไปยังตำแหน่งที่ไฟล์ iso อยู่ในไดรฟ์เครือข่ายของ VM (Z: \ หรืออะไรก็ตาม)
BTW คุณอาจเพียงแค่คัดลอกรูปภาพฟลอปปี้ FreeDOS ไปยังไดรฟ์คัดลอกไฟล์จาก iso เช่นกันและใช้ memdisk เพื่อบู๊ตลงในภาพฟลอปปี้ จาก FreeDOS ให้เรียกใช้ i386 \ winnt.exe ข้อเสียคือ (ยกเว้นกรณีที่คุณพบไดรเวอร์ DOS NTFS หรือไม่) คุณจะสามารถติดตั้ง Windows ในไดรฟ์ข้อมูล FAT32 ไม่ใช่ NTFS
คุณอาจพบว่ากระบวนการรูฟัสช้าอย่างเจ็บปวดเนื่องจากอยู่ใน VM (ไม่เข้าใจว่าทำไมฉันอาจเป็นใบ้เกี่ยวกับวิธีการตั้งค่า) สำหรับฉันเป็นการส่วนตัวบนแล็ปท็อปของฉันมันใช้เวลาหนึ่งชั่วโมง 5 นาทีและ 40 วินาทีฉันเชื่อว่ามันเป็น ฉันจะบอกวิธีการทำโดยไม่ต้องรูฟัสใน Linux เราจะเลียนแบบรูฟัส แต่ก่อนอื่นในกรณีที่คุณตัดสินใจใช้รูฟัสจาก VM แทนให้ระวังว่าลีนุกซ์จะไม่สามารถมองเห็นพาร์ติชั่นได้หลังจากรูฟัสเสร็จแล้ว:
รูฟัสไม่เพียง แต่ฟอร์แมตพาร์ติชัน แต่จะทำการ MBR ใหม่ (รวมถึงตารางพาร์ติชัน) ดังนั้นควรบันทึกสิ่งใดก็ตามที่ปิดไดรฟ์หัวแม่มือก่อน
หมายเหตุ:รูฟัสวางเคล็ดลับ MBR ที่เมื่อเรียกใช้งานโดยการแลกเปลี่ยน BIOS ไดรฟ์ BIOS สองตัวแรก (0x80 กลายเป็น 0x81 และจับกลับกัน) นอกจากนี้ยังวางรหัส BIOS ไว้ใน MBR เคล็ดลับนี้เพื่อให้ไดรฟ์เริ่มต้นเป็น 0x81 (ไดรฟ์ที่สอง) ทำไมฉันจึงบอกคุณนี้: เคล็ดลับ MBR ทำให้ Linux (และ Grub2 v2.00) ไม่สามารถอ่านตารางพาร์ติชันได้ Windows จะใช้งานได้ดี (ให้อักษรระบุไดรฟ์และทั้งหมด) และไดรฟ์จะสามารถบู๊ตได้ แต่ลีนุกซ์จะไม่เห็นพาร์ติชั่นดังนั้นจึงไม่สามารถเมานต์ได้ ไม่มีปัญหา. บันทึก MBR เป็นไฟล์:
sudo dd if=/dev/sdX of=~/Desktop/rufus_trick_mbr count=1 bs=512
ตอนนี้ใช้ fdisk เพื่อให้ MBR ใหม่ คุณไม่ได้แตะพาร์ติชันด้วยตัวเองคุณเพิ่งจะให้ MBR ใหม่ ไม่มีอะไรใน fdisk จนกว่าคุณจะกด "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.
เราสามารถสร้าง mess-ups ใหม่ด้วย dd:
แฮมมอนด์ -“ ไม่ต้องกังวลฉันไม่ได้ทำผิดพลาดอีกครั้ง” มัลคอล์ม -“ ไม่ไม่คุณกำลังทำสิ่งใหม่ทั้งหมด”
-Jurassic Park II, The Lost World
ถอดและเสียบไดรฟ์หัวแม่มือ หากไม่มีอะไรอื่น / dev / sdXY ควรมีอยู่อย่างน้อยตอนนี้ (ก่อนเท่านั้น / dev / sdX มีอยู่ - ไม่มี "Y") หากต้องการติดตั้งควรติดตั้ง ntfs-3g หากติดตั้งแล้วให้ดูว่าติดตั้งแล้วหรือไม่ (ควรแสดงบนเดสก์ท็อปหรือในบานหน้าต่างด้านซ้ายของเบราว์เซอร์ไฟล์ถ้ามี) ถ้าไม่ติดมันเอง คุณสามารถลองติดตั้งด้วยเบราว์เซอร์ไฟล์ก่อน นี่คือวิธีการติดตั้งด้วยตนเอง:
sudo mount -t ntfs-3g /dev/sdXY [mount point]
ทำสิ่งที่คุณต้องการจะทำกับมันใน Linux
หากคุณต้องการให้ใส่ rufus_trick_mbr กลับไปที่:
sudo dd if=~/Desktop/rufus_trick_mbr of=/dev/sdX bs=512 count=1 //No "Y"! Just /dev/sdX!
แต่คุณไม่จำเป็นต้องใส่เคล็ดลับ MBR อีกครั้ง คุณสามารถใช้คำสั่ง ntldr ของ Grub2 เพื่อโหลด / BOOTMGR แทน (อาจจะต้องทำ "insmod ntldr" ก่อนเพื่อแทรกโมดูล ntldr)
นี่คือสิ่งที่เกิดขึ้น:
รูฟัสวางเคล็ดลับ MBR ด้วยหนึ่งรายการพาร์ติชันตารางรูปแบบที่พาร์ติชันเป็น NTFS วางสิ่งต่าง ๆ ใน bootsector ของพาร์ติชันที่เฉพาะ bootloaders ลักษณะ ntldr ดูแลคัดลอกไฟล์ออกจาก iso ไปยังพาร์ติชันคัดลอก NTDETECT.COM จาก โฟลเดอร์ i386 และวางไว้ที่ระดับรากคัดลอก txtsetup.sif จากโฟลเดอร์ i386 วางไว้ที่ระดับรากและเพิ่มบรรทัดซึ่ง github, c0m / pbatard / rufus / wiki / Target-Supported ไม่ได้กล่าวถึงดังนั้น ขอบคุณ "openssl md5" และ cmp สำหรับการชี้ให้ฉันเห็น
กลองม้วน : และคัดลอก SETUPLDR.BIN จากโฟลเดอร์ i386 ไปที่ระดับรากเปลี่ยนชื่อเป็น BOOTMGR และแพทช์ไบนารีที่ ใช่นั่นคือเคล็ดลับ SETUPLDR.BIN เมื่อทำการบูทจากซีดีตรวจพบว่ามันถูกบูทจากซีดีและมองหาสิ่งที่อยู่ในโฟลเดอร์ i386 หากบูตจากฮาร์ดไดรฟ์จะตรวจพบว่าบูตจากฮาร์ดไดรฟ์แล้วค้นหาโฟลเดอร์ minint แทนและหากพบจะมองหาโฟลเดอร์ $ WIN_NT $ ~ BT เพื่อเริ่มขั้นตอนที่สองของการติดตั้ง (หลังจากรีสตาร์ทและ เมื่อคุณบูตเข้าสู่ฮาร์ดไดรฟ์เป้าหมาย) ดังนั้นคุณไม่สามารถแม้แต่เปลี่ยนชื่อ "i386" เป็น "minint" คุณต้องแก้ไข SETUPLDR.BIN เพื่อดูในโฟลเดอร์ i386 แม้เมื่อบู๊ตฮาร์ดไดรฟ์ (เช่นไดรฟ์ USB)
ฉันคิดว่ามันเป็นชื่อเรียกผิดของรูฟัสที่จะเรียกเลขฐานสอง "BOOTMGR" ที่แก้ไขแล้ว นั่นคือสิ่งที่ Vista และ 7 (และ 8 ใช้) ไม่ใช่ XP BOOTMGR ไม่แม้แต่จะค้นหาไฟล์ boot.ini เช่น NTLDR (ซึ่ง SETUPLDR เป็นรุ่นที่ปรับเปลี่ยนแล้ว) ก็ทำเช่นนั้น ดังนั้นฉันจึงเปลี่ยนชื่อเป็น "RUFUSLDR" และวางเพื่อดาวน์โหลด นอกจากนี้คุณยังสามารถบอกได้นอกเหนือจาก BOOTMGR จริง ๆ ที่คุณอาจพบเจอ
รูฟัสบังคับให้คุณฟอร์แมตไดรฟ์เป็น NTFS หากใช้ iso ตัวติดตั้ง Windows ฉันเชื่อว่านี่เป็นเพราะภาพตัวอย่างนักพัฒนา x64 Windows 8 ที่มีไฟล์> 4GB ซึ่ง FAT32 ไม่สามารถรองรับได้ แต่นั่นไม่ได้ใช้ที่นี่ เราไม่มีไฟล์ใด ๆ ใกล้กับ 4GB คุณอาจใช้ FAT32 และทำได้ดี
มาเลียนแบบรูฟัสจากลีนุกซ์ (หรือยูนิกซ์ที่ใกล้เคียงกัน, ฉันเดา):
ตรวจสอบให้แน่ใจว่าไดรฟ์เป็นแบบ MBR fdisk จะส่งคำเตือนหากเป็น GPT และยังให้ตัวเลือกแก่คุณเพื่อให้เป็นแบบ MBR-schemed (ตัวเลือก "o") ทำลายน้อยกว่า gdisk จะช่วยให้คุณแปลงไดรฟ์ GPT-schemed ของคุณไปเป็น MBR-schemed drive ถ้าคุณมีพาร์ติชั่น 4 ตัวหรือน้อยกว่า Gdisk ยังช่วยให้คุณสร้างไดรฟ์เป็นดิสก์แบบไฮบริด MBR / GPT ซึ่งคุณสามารถเลือกได้ถึง 3 พาร์ติชั่นที่สามารถมองเห็นได้โดย GPT-unaware แม้ว่าคุณจะใช้ fdisk ตราบใดที่รายการตารางพาร์ติชันใหม่ยังคงเริ่มต้นและหยุดในที่เดียวกันคุณจะไม่ทำให้พาร์ติชันของคุณหลวม เพียงตรวจสอบให้แน่ใจว่าได้วาง GPT รองลงในส่วนท้ายของดิสก์
ตรวจสอบให้แน่ใจว่าพาร์ติชันถูกฟอร์แมตเป็น FAT32 หรือ NTFS โปรดจำไว้ว่า FAT32 นั้นใช้งานข้ามแพลตฟอร์มได้ง่ายขึ้น หากมีการจัดรูปแบบเป็น FAT32 หรือ ntfs คุณไม่จำเป็นต้องจัดรูปแบบ:
sudo blkid / dev / sdXY [จะพูดระบบไฟล์ที่นี่พร้อมกับ UUID, ป้ายกำกับ, ฯลฯ ]
หากไม่ใช่ FAT32 หรือ NTFS ให้เลือกทำอย่างใดอย่างหนึ่งต่อไปนี้:
sudo mkdosfs -F 32 -n [insert volume label (name) here] /dev/sdXY
sudo mkntfs -L [insert volume label here] /dev/sdXY
3 ใช้สิ่งบูท bootsector ที่ดอส / วินโดวส์นั้นช่างประณีตเกี่ยวกับ:
sudo ms-sys -w /dev/sdXY
* เกี่ยวกับเรื่องนี้ - "-w" หมายถึง "เขียน" - เพียงแค่เขียน ตรงข้ามกับการระบุว่าจะเขียนอะไร ดังนั้น "-w" จึงเป็นโหมดอัตโนมัติของ ms-sys: มันเป็นตัวกำหนดชนิดของข้อมูล bootsector ที่ดีที่สุดในการเขียนสำหรับสถานการณ์ ฉันรู้สึกประหลาดใจที่จะหารถยนต์ที่ถูกต้องสำหรับพาร์ทิชัน FAT32, ฉันต้อง MS-SYS ของ FAT32 DOS bootsector ไม่ MS-SYS ของ FAT32 NT bootsector ซึ่งผมคิดว่าฉันจะต้องโหลด derivitive ของ _NT_LDR (NT รถตักดิน) A (SETUPLDR BIN เป็นเวอร์ชันที่แก้ไขของ NTLDR และ RUFUSLDR เป็น SETUPLDR.BIN ที่แก้ไขแล้ว)
4 สำหรับการวัดที่ดีให้เขียนรูปทรงเรขาคณิตลงในพาร์ติชันด้วย สิ่งนี้ไม่เปลี่ยนรูปทรงเรขาคณิตของดิสก์มันเพิ่งทิ้งโน้ตเกี่ยวกับรูปทรงเรขาคณิตสำหรับสิ่งที่ขี้เกียจเกินไปที่จะค้นพบเกี่ยวกับรูปทรงเรขาคณิตของตัวเอง:
sudo ms-sys -p /dev/sdXY
* หมายเหตุ: ขั้นตอนที่ 4 ใช้ไม่ได้กับ NTFS * หมายเหตุอื่น: ตรวจสอบให้แน่ใจว่าเวอร์ชันเคอร์เนล linux ของคุณคือ> 2.6 เคอร์เนล 2.6 มีข้อผิดพลาดที่รายงานจำนวนหัวที่ไม่ถูกต้อง (เป็นรูปทรงเรขาคณิต) ดังนั้นตัวเลือก "-p" สามารถใส่ข้อมูลผิดในเคอร์เนล 2.6 ตัวเลือก "-H" ซึ่งช่วยให้ผู้ใช้สามารถระบุจำนวนหัวที่จะบันทึกด้วยตนเองคือการแก้ไข แต่จริงๆแล้วเพียงแค่อัพเกรดเคอร์เนลของคุณแทน หากคุณใช้งาน 2.6 แสดงว่าคุณค้างชำระเกินกำหนด หากต้องการบอกเวอร์ชันเคอร์เนลของคุณให้ทำ:
uname -r
5 คัดลอกไฟล์จาก iso, โฟลเดอร์, อะไรก็ตาม ไอโซ distros จำนวนมากเมื่อคลิกสองครั้งหรืออย่างน้อยก็มีตัวเลือกในการเปิดพร้อมเมานท์เก็บถาวรภายใต้คลิกขวา> เปิดด้วย หากไม่ใช่ในกรณีของคุณให้ทำสิ่งนี้:
sudo mount -o loop (path to iso) (path to desired mount point)
6 วางไฟล์ SETUPLDR.BIN (RUFUSLDR) ที่แก้ไขแล้วบนระดับรูท
7 คัดลอก NTDETECT.COM จาก i386 ไปที่ระดับรูท
8 คัดลอก txtsetup.sif จาก i386 ไปที่ระดับรูท
9 เปิดสำเนาใหม่ของ txtsetup.sif และ Ctrl + F สำหรับ "[SetupData]" ภายใต้ส่วนหัวให้วางบรรทัดนี้:
SetupSourceDevice = "\device\harddisk1\partition1"
10 อาจติดตั้ง bootloader ที่สามารถโหลด bootloaders สไตล์ NTLDR ไปยังไดรฟ์หรือไปยังไดรฟ์อื่นที่คุณจะใช้ในการบูตไดรฟ์นี้หรือใช้ bootloader ที่มีอยู่ หากคุณติดตั้ง Grub2 ไว้ในฮาร์ดไดรฟ์เพื่อบูต Ubuntu คุณสามารถกด "c" เมื่อคุณเห็นเมนูเพื่อเข้าสู่ commandline Grub หากคุณมี Syslinux แทนคุณสามารถใช้มันได้เช่นกัน ฉันจะแค่ติดกับ Grub2 สำหรับการกวดวิชา
หากต้องการติดตั้ง Grub2 ลงในดิสก์ (ซึ่งคุณอาจไม่จำเป็นต้องทำหากใช้ bootloader ที่มีอยู่ในฮาร์ดไดรฟ์ของคุณ):
sudo grub-install --boot-directory=[mount point of disk, not iso] [/dev/sdxy]
11a สร้างรายการ grub.cfg หรือดำเนินการด้วยตนเองดังต่อไปนี้:
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 ในฐานะที่เป็นรายการ grub.cfg นั่นจะมีลักษณะเช่นนี้ (อย่าใส่เครื่องหมายวงเล็บนี่คือ Grub ไม่ใช่วิทยาลัย !!):
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
}
// โปรดทราบว่าข้างต้นเป็นวิธีที่แน่นอนกว่ามากในการตั้งค่าไดเรกทอรีการทำงานปัจจุบันของ Grub โปรดทราบด้วยว่า "บูต" มีความหมายสำหรับรายการไฟล์กำหนดค่า
// โปรดทราบว่าถึงแม้ว่ามันจะเป็นธรรมเนียมที่จะต้องมีบรรทัด "drivemap -s (hd0) $ {root}" สำหรับการบูท Windows (ทำให้ไดรฟ์ Window เป็นไดรฟ์ BIOS ตัวแรก) แต่การติดตั้ง USB Windows XP ของฉันทำให้มัน รีบูตเมื่อพยายามบูต bootloader สไตล์ ntldr หากสิ่งต่าง ๆ ไม่ทำงานและคุณแน่ใจว่าคุณทำตามขั้นตอนทั้งหมดแล้วให้ลอง "drivemap -s (hd0) $ {root}"
// ระวังถ้าคุณมีไดรฟ์ USB มากกว่าหนึ่งตัวในเวลาบูท ระบบของคุณจะบู๊ตไดรฟ์ USB ที่สามารถบู๊ตได้และโดดเด่นที่สุดเมื่อถูกบอกให้บู๊ต USB คุณสามารถคิดได้อย่างเป็นระบบว่าพอร์ต USB ใดที่โดดเด่นด้วยไดรฟ์ USB ที่สามารถบู๊ตได้ สำหรับฉันฉันไม่ต้องลองชุดต่าง ๆ เพราะพอร์ต USB ของฉันถูกจัดเรียงในคอลัมน์และคอลัมน์ทั้งหมดโดดเด่นในคอลัมน์อื่น ๆ ภายในคอลัมน์หนึ่งคอลัมน์ที่สูงกว่านั้นโดดเด่น
// โปรดทราบว่าหากคุณกำลังบูตเครื่องติดตั้ง Windows XP USB จาก Grub2 บนไดรฟ์อื่น Grub2 จะเห็นไดรฟ์ USB ที่โดดเด่นที่สุดเท่านั้น (อย่างน้อยในระบบของฉัน) ดังนั้นตรวจสอบให้แน่ใจว่าตัวติดตั้ง WinXP USB ของคุณอยู่ในสล็อตที่ใช้งานได้ดีที่สุด (หรือเพียงแค่สลับสองตัวหากคุณมีไดรฟ์ USB สองตัวและ Grub2 จะเห็นไดรฟ์ที่ไม่ใช่ WinXP-installer) แน่นอนว่านี่ไม่ใช่ปัญหาหากเสียบไดรฟ์ USB เพียงอันเดียว
// ถ้าเพียงแค่รีบูตตรวจสอบให้แน่ใจว่าคุณได้ทำ "sudo ms-sys -w / dev / sdXY" และถ้า FAT32, "sudo ms-sys -p / dev / sdXY" และคัดลอก NTDETECT.COM จาก i386 ไปที่ ระดับราก
// ถ้ามันบอกว่าหาอะไรไม่เจอคุณอาจไม่ได้ใช้ bootloader ที่ดัดแปลงแล้ว ตรวจสอบให้แน่ใจว่าคุณกำลังใช้สิ่งที่แก้ไข (จะมี md5 แตกต่างจาก i386 / SETUPLDR.BIN.) ตรวจสอบให้แน่ใจว่า txtsetup.sif และ NTDETECT.COM อยู่ในระดับราก
// ถ้ามีข้อความว่าให้ใส่แผ่นซีดี Windows XP SP3 ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มบรรทัดนั้นลงใน txtsetup.sif และไฟล์ CD Ident ของคุณนั้นดี (WIN51, WIN51IP และอื่น ๆ ) เพียงลบไฟล์ CD Indent และคัดลอกกลับมาใหม่หากมีข้อสงสัย
// ถ้ามันบอกว่าคุณต้องใส่แผ่นดิสก์เพื่อพิสูจน์ว่าคุณมีคุณสมบัติสำหรับการติดตั้งการอัพเกรดจะมีดิสก์ GPT ใส่ไว้หรือไม่? บางทีนี่อาจเป็นสาเหตุของปัญหา ถอดปลั๊กดิสก์ GPT-schemed หรือแปลงเป็น MBR ใน Linux (ในขณะที่ปิดคอมพิวเตอร์ให้ถอดปลั๊กลองอีกครั้งไม่ใช่แค่งัด)
// BTW หากต้องการติดตั้งลงในไดรฟ์ USB คุณจะต้องทำการแฮ็คที่ ngine.de/article/id/8 ใช่เป็นไปได้ที่จะติดตั้ง Windows XP จาก USB เป็น USB
สนุก,
เจค XD