Загрузите 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, скорее всего). Перейдите к терминалу, введите «make», затем «sudo make install». Очень легко.
Я сочувствую тебе. Я пробовал учебные пособия о том, как создать из Windows загрузочный USB-накопитель в установщик WinXP. Первая часть диска, WinToFlash и утилита HP USB Format - все мне не удалось.
Руфус на самом деле работает. Но это утилита только для Windows. Вы можете установить VirtualBox, установить Windows в VirtualBox, установить Rufus на виртуальную машину, предоставить общий доступ к USB-накопителю и заставить Rufus сделать загрузочный USB-накопитель установщиком Windows XP.
В настоящее время Rufus не поддерживает создание загрузочного установщика USB WinXP с использованием свободных установочных файлов. Это должно видеть iso. Таким образом, у вас есть VirtualBox, монтирующий iso для установки XP на виртуальную машину, но это проявляется в виде свободных файлов (не будет видеть iso). Поэтому, чтобы Rufus увидел сам файл iso, поделитесь каталогом на вашем хост-компьютере, где iso хранится на виртуальной машине. Затем укажите Rufus в том месте, где находится iso-файл на сетевом диске виртуальной машины (Z: \ или любой другой).
Кстати, вы также можете просто скопировать образ дискеты FreeDOS на диск, скопировать файлы из iso и использовать memdisk для загрузки образа дискеты. Из FreeDOS запустите i386 \ winnt.exe. Недостатком является то, что (если вы не нашли драйвер NTFS для DOS?), Вы сможете установить Windows только на том FAT32, а не на NTFS.
Вы можете обнаружить, что процесс Rufus мучительно медленен из-за того, что он находится в виртуальной машине (не понимаю почему, может быть, я был глуп, как я устанавливал настройки). Лично для меня, на моем ноутбуке, это заняло один час, 5 минут и 40 секунд. Я расскажу вам, как это сделать без Руфуса в Linux. Мы будем имитировать Rufus, но сначала, если вы решите использовать Rufus с виртуальной машины, помните, что Linux не сможет увидеть раздел после того, как Rufus покончит с ним:
Rufus не только форматирует раздел, но и восстанавливает MBR (включая таблицу разделов). Поэтому сначала сохраните что-нибудь с флешки.
Примечание: Rufus устанавливает специальную MBR, которая при выполнении BIOS меняет местами первые два диска BIOS (0x80 становится 0x81 и наоборот). Кроме того, он вставляет идентификатор BIOS в этот трюк MBR, чтобы привод начинался с 0x81 (второй диск). Почему я говорю вам это: уловка MBR приводит к тому, что Linux (и Grub2 v2.00) не могут прочитать таблицу разделов. Windows будет просто в порядке (укажите букву диска и все), и диск будет загрузочным. Но Linux не увидит раздел и, следовательно, не сможет его смонтировать. Нет проблем. Сохраните 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.
Мы также можем создавать новые проблемы с dd:
ХЭММОНД - «Не волнуйся, я больше не повторю тех же ошибок». МАЛЬКОЛЬМ - «Нет, нет, ты делаешь все новые».
Парк Юрского периода II, Затерянный мир
Отключите и снова подключите флэш-накопитель. Если ничего больше, / 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. Вы можете использовать команду Grub2 ntldr для загрузки / BOOTMGR. (Вероятно, сначала нужно будет выполнить команду «insmod ntldr», чтобы вставить модуль ntldr.)
Вот что происходит:
Rufus устанавливает трюк MBR с одной записью таблицы разделов, форматирует этот раздел как NTFS, помещает содержимое в загрузочный сектор этого раздела, о котором заботятся только загрузчики в стиле ntldr, копирует файлы из iso в раздел, копирует NTDETECT.COM из папку i386 и помещает ее в корневой уровень, копирует txtsetup.sif из папки i386, помещает ее в корневой уровень и добавляет строку, которую github, c0m / pbatard / rufus / wiki / Targets-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, которые у вас могут быть.
Rufus заставляет вас отформатировать диск как NTFS, если вы используете установщик Windows iso. Я полагаю, что это связано с предварительным просмотром x64 для Windows 8, содержащим файл размером более 4 ГБ, который FAT32 не может поддерживать. Но это не относится здесь. У нас нет файлов где-то рядом с 4 ГБ. Вы можете использовать FAT32 и все будет в порядке.
Давайте подражать Руфусу из Linux (или почти любому юниксоиду, я думаю):
Убедитесь, что диск имеет MBR-схему. fdisk выдаст предупреждение, если это GPT, а также даст вам возможность сделать его MBR-схематичным (опция «o»). Менее разрушительно, gdisk позволит вам преобразовать ваш диск с GPT-схемой в диск с MBR-схемой, если у вас 4 или меньше разделов. Gdisk также позволит вам сделать ваш диск гибридным MBR / GPT-схемным диском, на котором вы можете выбрать до 3 разделов, которые будут видны вещам, не знакомым с GPT (4-й слот занят защитным разделом, который закрывает остальные). Даже если вы просто используете 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 Примените магический загрузочный сектор, к которому DOS / Windows так привередливы:
sudo ms-sys -w /dev/sdXY
* Об этом - "-w" означает "писать" - просто писать. В отличие от указания, что написать. Таким образом, "-w" - это автоматический режим ms-sys: он определяет наилучший тип данных загрузочного сектора для записи в данной ситуации. Я был удивлен, обнаружив , что автомобиль был прав: на разделе FAT32, мне нужно MS-SYS, FAT32 DOS Загрузочным не Ms-SYS, FAT32 NT загрузочный сектор, который я думал , что мне нужно , чтобы загрузить derivitive из _NT_LDR (загрузчик NT) (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, папки, что угодно. Многие дистрибутивы монтируют iso при двойном щелчке по ним или, по крайней мере, предлагают опцию открытия с помощью монтирования архива, щелкнув правой кнопкой мыши> открыть с помощью. Если это не так, сделайте это:
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 Либо установите загрузчик с возможностью загрузки загрузчиков в стиле NTLDR на диск, либо на другой диск, который вы будете использовать для загрузки этого диска, либо используйте существующий загрузчик. Если у вас на жестком диске установлен Grub2 для загрузки Ubuntu, вы можете просто нажать «c», когда увидите меню, чтобы войти в командную строку Grub. Если у вас есть Syslinux вместо этого, вы можете использовать его тоже. Я просто буду придерживаться Grub2 для обучения.
Чтобы установить Grub2 на диск (что может не потребоваться при использовании существующего загрузчика вашего жесткого диска):
sudo grub-install --boot-directory=[mount point of disk, not iso] [/dev/sdxy]
11а. Либо сделайте запись в 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. Также обратите внимание, что «boot» подразумевается для записей файла конфигурации.
// Также обратите внимание, что хотя обычно для загрузки Windows имеется строка «drivemap -s (hd0) $ {root}» (делает диск Window первым BIOS-диском), из-за этого мой установщик USB Windows XP просто перезагрузите компьютер при попытке загрузить загрузчик в стиле ntldr. Если что-то не работает, и вы уверены, что сделали все шаги, попробуйте «drivemap -s (hd0) $ {root}»
// Учтите, если во время загрузки было подключено более одного USB-накопителя. Ваша система загрузит наиболее загружаемый USB-накопитель, когда будет сказано загрузить USB. Вы можете систематически определить, какие порты USB доминируют, а какие - с двумя загрузочными USB-накопителями. Мне не пришлось пробовать много комбинаций, потому что мои USB-порты расположены в столбцах, а целые столбцы доминировали над другими столбцами. Внутри колонны верхний был доминирующим.
// Обратите внимание, что если вы загружаете установщик Windows XP USB из Grub2 на другом диске, Grub2 увидит только наиболее доминирующий USB-накопитель (по крайней мере, в моей системе). Поэтому убедитесь, что ваш установщик WinXP USB находится в наиболее часто используемом слоте. (Или просто переключите два, если у вас есть два USB-накопителя, и Grub2 видит не установщик диска WinXP.) Конечно, это не проблема, если вставлен только один USB-накопитель.
// Если он просто перезагружается, убедитесь, что вы выполнили «sudo ms-sys -w / dev / sdXY» и, если FAT32, «sudo ms-sys -p / dev / sdXY» И скопировали файл NTDETECT.COM из i386 в корневой уровень.
// Если он говорит, что ничего не может найти, возможно, вы не используете модифицированный загрузчик. Убедитесь, что вы используете измененный. (Будет иметь md5, отличный от i386 / SETUPLDR.BIN.) Также убедитесь, что txtsetup.sif и NTDETECT.COM находятся на корневом уровне.
// Если в нем говорится, что нужно вставить компакт-диск с Windows XP SP3, убедитесь, что вы добавили эту строку в txtsetup.sif И что ваши идентификаторы компакт-диска исправны (WIN51, WIN51IP и т. Д.). Просто удалите файлы CD Indent и скопируйте их обратно, если сомневаетесь.
// Если в нем сказано, что вам нужно вставить диск, чтобы подтвердить, что вы подходите для установки обновления, есть ли вставленные GPT-диски? Возможно, это вызывает проблему. Отключите все диски с GPT-схемой или конвертируйте их в MBR в Linux. (как при выключении компьютера, отключите, попробуйте еще раз. Не просто дергать.)
// Кстати, чтобы установить на USB-накопитель, вам нужно будет взломать ngine.de/article/id/8. Да, можно установить Windows XP ОТ USB НА USB.
Наслаждаться,
Джейк XD