Tải xuống RUFUSLDR từ đây: https://dl.dropboxusercontent.com/u/20170669/RUFUSLDR
Tải xuống ms-sys tại đây: http://prdoads.sourceforge.net/ms-sys/ms-sys-2.3.0.tar. gz? download
Kéo thư mục ms-sys-2.3.0 ra một nơi nào đó hỗ trợ cờ thực thi (rất có thể là thư mục nhà Linux của bạn). cd một thiết bị đầu cuối ở đó, gõ "make", sau đó "sudo make install". Thật dễ dàng.
Tôi thông cảm với bạn. Tôi đã thử hướng dẫn về cách tạo, từ Windows, một ổ USB có thể khởi động vào trình cài đặt WinXP. Phần mềm thứ nhất, phần mềm WinToFlash và phần mềm HP USB Format đều làm tôi thất bại.
Rufus thực sự hoạt động. Nhưng nó là một tiện ích chỉ dành cho Windows. Bạn có thể cài đặt VirtualBox, cài đặt Windows trong VirtualBox, cài đặt Rufus trong VM, chia sẻ ổ USB với VM và Rufus làm cho ổ USB có thể khởi động vào trình cài đặt Windows XP.
Rufus hiện không hỗ trợ tạo trình cài đặt USB WinXP có thể khởi động bằng các tệp cài đặt lỏng lẻo. Nó phải xem iso. Vì vậy, bạn có VirtualBox gắn iso để cài đặt XP vào VM, nhưng nó hiển thị dưới dạng các tệp lỏng (sẽ không thấy iso). Vì vậy, để Rufus nhìn thấy tệp iso, hãy chia sẻ thư mục trên máy chủ của bạn nơi iso được lưu trữ vào VM. Sau đó trỏ Rufus đến nơi tệp iso nằm trong ổ đĩa mạng của VM (Z: \ hoặc bất cứ thứ gì).
BTW, bạn cũng có thể sao chép hình ảnh đĩa mềm FreeDOS vào ổ đĩa, sao chép các tệp từ iso và sử dụng memdisk để khởi động vào hình ảnh đĩa mềm. Từ FreeDOS, chạy i386 \ winnt.exe. Nhược điểm là (trừ khi bạn tìm thấy trình điều khiển NTFS của DOS?) Bạn sẽ chỉ có thể cài đặt Windows lên ổ đĩa FAT32 chứ không phải là NTFS.
Bạn có thể thấy quá trình Rufus bị chậm một cách đau đớn do đang ở trong máy ảo (không hiểu tại sao, có lẽ tôi đã bị câm về cách tôi thiết lập cài đặt). Đối với cá nhân tôi, trên máy tính xách tay của tôi, phải mất một giờ, 5 phút và 40 giây, tôi tin là như vậy. Tôi sẽ cho bạn biết làm thế nào để làm điều đó mà không có Rufus trong Linux. Chúng tôi sẽ bắt chước Rufus, nhưng trước tiên, trong trường hợp bạn quyết định sử dụng Rufus từ VM thay vào đó, hãy lưu ý rằng Linux sẽ không thể thấy phân vùng sau khi Rufus được thực hiện với nó:
Rufus không chỉ định dạng phân vùng, nó làm lại MBR (bao gồm cả bảng phân vùng). Vì vậy, lưu bất cứ điều gì ra khỏi ổ ngón tay cái đầu tiên.
Lưu ý: Rufus đưa ra một MBR lừa mà khi được BIOS thực hiện sẽ hoán đổi hai ổ đĩa BIOS đầu tiên (0x80 trở thành 0x81 và ngược lại). Ngoài ra, nó đặt id BIOS trong thủ thuật MBR này để làm cho ổ đĩa khởi động là 0x81 (ổ đĩa thứ hai). Tại sao tôi nói với bạn điều này: thủ thuật MBR khiến Linux (và Grub2 v2.00) không thể đọc được bảng phân vùng. Windows sẽ hoạt động tốt với nó (cung cấp cho nó một ký tự ổ đĩa và tất cả) và ổ đĩa sẽ có khả năng khởi động. Nhưng Linux sẽ không thấy phân vùng và do đó không thể gắn kết nó. Không vấn đề gì. Lưu MBR vào tệp:
sudo dd if=/dev/sdX of=~/Desktop/rufus_trick_mbr count=1 bs=512
Bây giờ sử dụng fdisk để cung cấp cho nó một MBR mới. Bạn thậm chí không chạm vào phân vùng, bạn chỉ cung cấp cho nó một MBR mới. Không có gì thực sự được thực hiện trong fdisk cho đến khi bạn nhấn "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.
Chúng ta cũng có thể tạo ra các mớ hỗn độn mới với dd:
HAMMOND - Bạn đừng lo lắng nữa, tôi sẽ không mắc lại sai lầm tương tự. MALCOLM - Càng không, không, bạn đang tạo ra tất cả những lỗi mới.
-Jurassic Park II, Thế giới đã mất
Rút phích cắm và cắm lại ổ ngón tay cái. Nếu không có gì khác, / dev / sdXY ít nhất nên tồn tại ngay bây giờ (trước khi chỉ tồn tại / dev / sdX - không có "Y"). Để gắn kết nó, nên cài đặt ntfs-3g. Nếu nó được cài đặt, hãy xem nó đã được gắn chưa (sẽ hiển thị trên Desktop hoặc trong khung bên trái của trình duyệt tệp nếu có). Nếu không, hãy tự gắn nó. Bạn có thể thử gắn nó với trình duyệt tệp trước. Đây là cách gắn kết thủ công:
sudo mount -t ntfs-3g /dev/sdXY [mount point]
Làm những gì bạn muốn làm với nó trong Linux.
Nếu bạn muốn, đặt lại rufus_trick_mbr:
sudo dd if=~/Desktop/rufus_trick_mbr of=/dev/sdX bs=512 count=1 //No "Y"! Just /dev/sdX!
Nhưng bạn không cần phải đặt lại thủ thuật MBR. Bạn có thể sử dụng lệnh ntldr của Grub2 để tải / BOOTMGR thay thế. (Có lẽ sẽ cần phải thực hiện "insmod ntldr" trước tiên để chèn mô-đun ntldr.)
Đây là những gì xảy ra:
Rufus đưa ra thủ thuật MBR với một mục nhập bảng phân vùng, định dạng phân vùng là NTFS, đặt nội dung vào trình khởi động của phân vùng mà chỉ bộ tải khởi động kiểu ntldr quan tâm, sao chép các tệp từ iso sang phân vùng, sao chép NTDETECT.COM từ Thư mục i386 và đặt nó ở cấp gốc, sao chép txtsetup.sif từ thư mục i386, đặt nó ở cấp gốc, VÀ thêm một dòng, mà github, c0m / pbatard / rufus / wiki / Target-Support không đề cập, vì vậy cảm ơn bạn "openssl md5" và cmp đã chỉ ra điều này cho tôi.
trống cuộn : VÀ sao chép SETUPLDR.BIN từ thư mục i386 đến cấp gốc, đổi tên thành BOOTMGR và vá các nhị phân đó. Vâng, đó là mẹo. SETUPLDR.BIN, khi được khởi động từ CD, phát hiện ra rằng nó đã được khởi động từ CD và tìm đến thư mục i386 để tìm thứ. Nếu khởi động ổ đĩa cứng, nó phát hiện ra rằng nó đã khởi động ổ đĩa cứng, thay vào đó hãy tìm một thư mục minint và nếu tìm thấy, hãy tìm thư mục $ WIN_NT $ ~ BT để bắt đầu giai đoạn cài đặt thứ hai (sau khi khởi động lại và khi bạn khởi động vào ổ cứng đích). Vì vậy, bạn thậm chí không thể đổi tên "i386" thành "minint". Bạn phải sửa đổi SETUPLDR.BIN để tìm trong thư mục i386 ngay cả khi đã khởi động ổ đĩa cứng (chẳng hạn như ổ USB).
Tôi nghĩ rằng đó là một cách gọi sai cho Rufus để gọi nhị phân sửa đổi là "BOOTMGR". Đó là những gì Vista và 7 (và 8?) Sử dụng, không phải XP. BOOTMGR thậm chí không tìm kiếm tệp boot.ini như NTLDR (trong đó SETUPLDR là phiên bản sửa đổi). Vì vậy, tôi đã đổi tên nó thành "RUFUSLDR" và tải nó lên để tải xuống. Ngoài ra, bạn muốn có thể phân biệt với bất kỳ BOOTMGR thực nào mà bạn có thể đang chạy xung quanh.
Rufus buộc bạn định dạng ổ đĩa thành NTFS nếu áp dụng trình cài đặt Windows. Tôi tin rằng điều này là do bản xem trước dành cho nhà phát triển Windows 8 x64 chứa tệp> 4GB, mà FAT32 không thể hỗ trợ. Nhưng điều đó không áp dụng ở đây. Chúng tôi không có tập tin ở bất cứ đâu gần 4GB. Bạn có thể sử dụng FAT32 và vẫn ổn.
Chúng ta hãy bắt chước Rufus từ Linux (hoặc gần như bất kỳ unixoid nào, tôi đoán vậy):
Hãy chắc chắn rằng ổ đĩa được MBR-schemed. fdisk sẽ đưa ra cảnh báo nếu đó là GPT và cũng cung cấp cho bạn tùy chọn để biến nó thành MBR-schemed (tùy chọn "o"). Ít phá hủy hơn, gdisk sẽ cho phép bạn chuyển đổi ổ đĩa được phân loại GPT của mình sang ổ đĩa được phân loại MBR nếu bạn có 4 phân vùng trở xuống. Gdisk cũng sẽ cho phép bạn biến ổ đĩa của mình thành một đĩa được kết hợp MBR / GPT, trong đó bạn có thể chọn tối đa 3 phân vùng để hiển thị cho các công cụ không biết GPT (khe thứ 4 được đưa lên cho một phân vùng bảo vệ che phủ phần còn lại). Ngay cả khi bạn chỉ sử dụng fdisk, miễn là mục nhập bảng phân vùng mới vẫn bắt đầu và dừng tại cùng một vị trí, bạn sẽ không mất phân vùng của mình; chỉ cần đảm bảo zero-over GPT thứ cấp ở cuối đĩa.
Đảm bảo phân vùng được định dạng là FAT32 hoặc NTFS. Hãy nhớ rằng, FAT32 thân thiện với nhiều nền tảng hơn. Nếu nó đã được định dạng là FAT32 hoặc ntfs, bạn không cần định dạng nó:
sudo blkid / dev / sdXY [sẽ nói hệ thống tập tin ở đây, cùng với UUID, nhãn, v.v.]
Nếu đó không phải là FAT32 hoặc NTFS, hãy thực hiện một trong các cách sau:
sudo mkdosfs -F 32 -n [insert volume label (name) here] /dev/sdXY
sudo mkntfs -L [insert volume label here] /dev/sdXY
3 Áp dụng công cụ khởi động ma thuật mà DOS / Windows rất khó hiểu:
sudo ms-sys -w /dev/sdXY
* Về điều này - "-w" là viết tắt của "viết" - chỉ viết. Trái ngược với việc chỉ định những gì để viết. Do đó "-w" là chế độ tự động của ms-sys: nó xác định loại dữ liệu khởi động tốt nhất để ghi cho tình huống. Tôi đã rất ngạc nhiên để tìm tự động đó là đúng: cho một phân vùng FAT32, tôi cần FAT32 ms-sys của DOS bootsector không FAT32 ms-sys của NT bootsector, mà tôi nghĩ tôi sẽ cần phải tải một derivitive của _NT_LDR (NT loader) (SETUPLDR. BIN là phiên bản sửa đổi của NTLDR và RUFUSLDR là phiên bản sửa đổi của SETUPLDR.BIN).
4 Để có biện pháp tốt, hãy viết công cụ hình học vào phân vùng. Điều này không thay đổi hình dạng của đĩa, nó chỉ để lại một ghi chú về hình học cho những thứ quá lười biếng để tự tìm hiểu về hình học:
sudo ms-sys -p /dev/sdXY
* Lưu ý: bước 4 không áp dụng cho NTFS. * Lưu ý khác: đảm bảo phiên bản kernel linux của bạn> 2.6. Kernel 2.6 có một lỗi báo cáo số lượng đầu sai (một thứ hình học). Do đó, tùy chọn "-p" có thể đưa thông tin sai trong kernel 2.6. Tùy chọn "-H", cho phép người dùng chỉ định thủ công số lượng đầu để ghi, là cách giải quyết. Nhưng thực sự, chỉ cần nâng cấp kernel của bạn thay thế. Nếu bạn đang chạy 2.6, bạn sẽ quá hạn. Để nói phiên bản kernel của bạn, hãy làm:
uname -r
5 Sao chép trong các tập tin từ iso, thư mục, bất cứ điều gì. Nhiều bản phân phối gắn kết khi nhấp đúp vào chúng hoặc ít nhất cung cấp tùy chọn mở bằng bộ đếm lưu trữ dưới nhấp chuột phải> mở bằng. Nếu đó không phải là trường hợp của bạn, hãy làm điều này:
sudo mount -o loop (path to iso) (path to desired mount point)
6 Đặt tệp SETUPLDR.BIN (RUFUSLDR) đã sửa đổi ở cấp gốc.
7 Sao chép NTDETECT.COM từ i386 đến cấp gốc.
8 Sao chép txtsetup.sif từ i386 đến cấp gốc.
9 Mở bản sao mới của txtsetup.sif và Ctrl + F cho "[SetupData]". Ngay dưới tiêu đề đó, đặt dòng này:
SetupSourceDevice = "\device\harddisk1\partition1"
10 Cài đặt bộ tải khởi động có khả năng tải bộ tải khởi động kiểu NTLDR vào ổ đĩa hoặc vào ổ đĩa khác mà bạn sẽ sử dụng để khởi động ổ đĩa này hoặc sử dụng bộ tải khởi động hiện có. Nếu bạn đã cài đặt Grub2 trên ổ cứng để khởi động Ubuntu, bạn chỉ cần nhấn "c" khi bạn thấy menu để nhập dòng lệnh Grub. Nếu bạn có Syslinux thay thế, bạn cũng có thể sử dụng nó. Tôi sẽ chỉ gắn bó với Grub2 cho hướng dẫn.
Để cài đặt Grub2 vào đĩa (điều mà bạn có thể không cần phải làm nếu sử dụng bộ tải khởi động hiện có của ổ cứng):
sudo grub-install --boot-directory=[mount point of disk, not iso] [/dev/sdxy]
11a. Hoặc tạo một mục grub.cfg hoặc thực hiện thủ công như sau:
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. Là một mục nhập grub.cfg, trông giống như thế này (không phải là dấu ngoặc thẳng, đây là Grub, không phải trường đại học !!):
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
}
// Lưu ý rằng ở trên là một phương tiện chắc chắn hơn nhiều để thiết lập thư mục làm việc hiện tại của Grub. Cũng lưu ý rằng "boot" được ngụ ý cho các mục cấu hình tập tin.
// Cũng lưu ý rằng mặc dù thông thường có dòng "drivemap -s (hd0) $ {root}" để khởi động Windows (làm cho ổ đĩa Window trở thành ổ đĩa BIOS đầu tiên), nhưng việc cài đặt USB Windows XP của tôi đã khiến nó chỉ xảy ra khởi động lại khi cố gắng khởi động bộ tải khởi động kiểu ntldr. Nếu mọi thứ không hoạt động và bạn chắc chắn rằng mình đã thực hiện tất cả các bước, hãy thử "drivemap -s (hd0) $ {root}"
// Lưu ý nếu bạn có nhiều ổ USB được lắp vào lúc khởi động. Hệ thống của bạn sẽ khởi động ổ USB có khả năng khởi động vượt trội nhất khi được yêu cầu khởi động USB. Bạn có thể tìm ra một cách có hệ thống các cổng USB nào chiếm ưu thế với hai ổ USB có thể khởi động. Đối với tôi, tôi không phải thử nhiều kết hợp, vì các cổng USB của tôi được sắp xếp theo cột và toàn bộ cột chiếm ưu thế so với các cột khác. Trong một cột, cái cao hơn chiếm ưu thế.
// Lưu ý rằng nếu bạn đang khởi động trình cài đặt Windows XP USB của mình từ Grub2 trên một ổ đĩa khác, Grub2 sẽ chỉ thấy ổ USB chiếm ưu thế nhất (ít nhất là trên hệ thống của tôi). Vì vậy, hãy chắc chắn rằng trình cài đặt USB WinXP của bạn nằm trong khe được sử dụng nhiều nhất. (Hoặc chỉ chuyển đổi hai nếu bạn có hai ổ USB và Grub2 thấy ổ đĩa không cài đặt WinXP.) Tất nhiên đây không phải là vấn đề nếu chỉ có một ổ USB được lắp vào.
// Nếu nó chỉ khởi động lại, hãy đảm bảo bạn đã "sudo ms-sys -w / dev / sdXY" và, nếu FAT32, "sudo ms-sys -p / dev / sdXY", và sao chép NTDETECT.COM từ i386 sang cấp gốc.
// Nếu nó nói rằng nó không thể tìm thấy bất cứ điều gì, bạn có thể không sử dụng bộ tải khởi động đã sửa đổi. Hãy chắc chắn rằng bạn đang sử dụng một sửa đổi. (Sẽ có md5 khác với i386 / SETUPLDR.BIN.) Ngoài ra, hãy đảm bảo txtsetup.sif và NTDETECT.COM ở cấp độ gốc.
// Nếu nó nói để chèn CD Windows XP SP3, hãy đảm bảo bạn đã thêm dòng đó vào txtsetup.sif VÀ các tệp Nhận dạng CD của bạn là tốt (WIN51, WIN51IP, v.v.). Chỉ cần xóa các tệp CD Indent và sao chép lại nếu nghi ngờ.
// Nếu nó nói rằng bạn cần chèn một đĩa để chứng minh rằng bạn đủ điều kiện để cài đặt nâng cấp, có đĩa GPT nào được chèn không? Có lẽ điều này đang gây ra vấn đề. Rút phích cắm của bất kỳ ổ đĩa GPT nào hoặc chuyển đổi chúng sang MBR trong Linux. (như tắt máy tính, rút phích cắm, thử lại. Không chỉ là yank.)
// BTW, để cài đặt ĐẾN ổ USB, bạn sẽ cần thực hiện hack tại ngine.de/article/id/8. Có, có thể cài đặt Windows XP TỪ USB ĐẾN USB.
Thưởng thức,
Jake XD