Пользовательского поиска
Суббота, 23.11.2024, 20:27
Приветствую Вас Гость | RSS
Главная | Создать USB-HDD из под Linux - Форум | Регистрация | Вход
Меню Проекта
Форма входа
Мы Рекомендуем:
Мнение Общественности
Оценка Проекта
1. Отлично :-D
2. Хорошо :-)
3. Неплохо :-/
4. Очень плохо }:->
5. Ниочём :-(
Всего ответов: 2940
Статистика
GreenFlash
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Sh1td0wn, asdqqww  
Создать USB-HDD из под Linux
bodyakovДата: Четверг, 15.03.2012, 19:44 | Сообщение # 1
Неизвестный
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Отсутствует
Доброе время суток.
Создаю загрузочную флешку под Linux:
dd if=/dev/zero of=/dev/sdb bs=512 count=1
parted /dev/sdb -s mklabel msdos
parted /dev/sdb -s mkpart -- primary fat32 63s -1s
mkfs.vfat -n Live /dev/sdb
parted /dev/sdb -s set 1 boot on
./syslinux -i /dev/sdb1
закидаю файлы syslinux.
Не грузится на некоторых моделях материнских плат - Intel, Foxconn, Asrock, Gigabyte. - Boot error.
До того делал grub4dos в мбр - результат тот же.

Под Виндовс. Либо утилита http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/, либо fat32format.exe+syslinux.exe, либо RMPREPUSB - грузится.

Пришел к выводу что дело в форматировании.
Как сделать аналогично под Linux?


Сообщение отредактировал bodyakov - Четверг, 15.03.2012, 19:46
 
Sh1td0wnДата: Четверг, 15.03.2012, 20:41 | Сообщение # 2
Программист
Группа: Модераторы
Сообщений: 3829
Репутация: 210
Статус: Отсутствует
Пробовали собирать и использовать fbinst?

НАЖМИ МЕНЯ, прежде чем что-либо написать
 
AtlantДата: Четверг, 15.03.2012, 21:04 | Сообщение # 3
Эксперт
Группа: Проверенные
Сообщений: 2210
Репутация: 221
Статус: Отсутствует
bodyakov Использую Grub4Dos на USB-HDD, MBR - Winnt 6.x (от семерки), PBR - Grub4dos, это самая живучая комбинация. Родной MBR от Grub4Dos большой (есть материнки что виснут от больших MBR еще на этапе инициализации железа) и не всегда срабатывает. syslinux не юзал (Grub4Dos хватает), не подскажу.
 
bodyakovДата: Вторник, 27.03.2012, 10:35 | Сообщение # 4
Неизвестный
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Отсутствует
Quote (Sh1td0wn)
Пробовали собирать и использовать fbinst?

только испробовал....на материнке Intel загрузилось biggrin
остальные будем пробовать завтра. Спасибо.

Добавлено (16.03.2012, 01:13)
---------------------------------------------
Quote (bodyakov)
остальные будем пробовать завтра. Спасибо.

на gigabyte не грузится
grub rescye - не может найти root

Добавлено (16.03.2012, 13:31)
---------------------------------------------
Решение.
http://www.rmprepusb.com/tutorials/usbpreplinux

Добавлено (27.03.2012, 10:35)
---------------------------------------------
На некоторых матплатах не грузилось. Решение следующие(немного с костылями):
Code

#!/bin/bash
#
flash=/dev/sdb
part=/dev/sdb1
umount $part
#erase mbr
echo Erase mbr
dd if=/dev/zero of=$flash bs=1024 count=1024
#calculate sectors, cylinders    
size=`fdisk -l $flash | grep $flash | awk '{print $5}'`
echo disk size - $size bytes
cylinders=`echo $size/255/63/512 | bc`
echo cylinders - $cylinders
sectors=`echo $cylinders*255*63 | bc`
echo sectors - $sectors
sizesectors=`echo $sectors-63 | bc`
cat >sfdisk.in <<EOF
unit: sectors

/dev/sdb1 : start= 63, size= $sizesectors, Id= c, bootable
/dev/sdb2 : start= 0, size= 0, Id= 0
/dev/sdb3 : start= 0, size= 0, Id= 0
/dev/sdb4 : start= 0, size= 0, Id= 0
EOF
#create partition table and partition
echo Create partition table
sfdisk -f -C$cylinders -H255 -S63 /dev/sdb <sfdisk.in
#format partition
echo Format Partition
mkfs.vfat -F 32 -n label $part
./ms-sys -H 255 -w $flash
./ms-sys -p -H 255 -w $part
sync
partprobe -s $flash
#modify flash sectors
#erase 65 sector (strange data is here)
echo Correct FAT boot sectors
dd if=/dev/zero of=$flash bs=512 count=1 seek=65
#extract 63 sector and parse
dd if=$flash of=63.sec bs=512 count=1 skip=63
#find start sector of partition (63)
startsector=`echo "ibase=16; $(od -t x2 --skip-bytes=28 --read-bytes=2 63.sec | awk '{print $2; exit}' | tr [:lower:] [:upper:])"|bc`
#find number of hidden sectors (32)
hiddensectors=`echo "ibase=16; $(od -t x2 --skip-bytes=14 --read-bytes=2 63.sec | awk '{print $2; exit}' | tr [:lower:] [:upper:])"|bc`
#find size of FAT    
fatsize=`echo "ibase=16; $(od -t x2 --skip-bytes=36 --read-bytes=2 63.sec | awk '{print $2; exit}' | tr [:lower:] [:upper:])"|bc`
#find start sectors of each FAT
fat1startsector=`echo $startsector+$hiddensectors | bc`
echo Start sector of 1st FAT: $fat1startsector
fat2startsector=`echo $startsector+$hiddensectors+$fatsize | bc`
echo Start sector of 2nd FAT: $fat2startsector
#modify 1st sectors of FATs
dd if=fat.bin of=$flash bs=16 count=1 seek=$fat1startsector
dd if=fat.bin of=$flash bs=16 count=1 seek=$fat2startsector
#extract 64 sector and copy them to 70 sector (missing fsinfo backup)
dd if=$flash of=64.sec bs=512 count=1 skip=64
dd if=64.sec of=$flash bs=512 count=1 seek=70
#install syslinux
echo Install Syslinux
./syslinux -i $part
#write syslinux MBR
dd if=mbr.bin of=$flash bs=446 count=1


Сообщение отредактировал bodyakov - Вторник, 27.03.2012, 11:03
 
  • Страница 1 из 1
  • 1
Поиск:
Чат

Copyright GreenFlash © 2024
Рейтинг@Mail.ru