Маппинг образа HDD на hd0 без потери настоящего диска
|
|
polly5315 | Дата: Среда, 13.04.2011, 14:35 | Сообщение # 1 |
Неизвестный
Группа: Пользователи
Сообщений: 5
Статус: Отсутствует
| Здравствуйте. Обращаюсь к вам за помощью по grub4dos. Я делаю загрузочную флэшку с CD-ROM-разделом, по этому сначала создаю загрузочный образ DVD. Я тщательно создал образ жесткого диска с единственным разделом FAT16 с ОС MS-DOS 7.1 весом в 64 MB. Мне нужно при загрузке с DVD замапить его в память под видом hd0. Но в этом случае настоящий hd0 теряется из виду: map --mem /MSDOSHDD.IMA (hd0) map --hook chainloader (hd0)+1 Хотелось бы найти способ, при котором маппинг в память на место hd0 сдвигал бы все жесткие диски на единицу. Ну или другой вариант компромисса, главное, чтобы DOS не терял диски. Думаю, не одного меня это интересует.
Сообщение отредактировал polly5315 - Среда, 13.04.2011, 14:43 |
|
| |
npu3pak | Дата: Среда, 13.04.2011, 15:46 | Сообщение # 2 |
Профессионал
Группа: Проверенные
Сообщений: 314
Статус: Отсутствует
| А можно сразу вопрос, а зачем вы так делаете? Обязательно создавать "загрузочную флэшку с CD-ROM-разделом"?
Взаимный фонд Меркурий
|
|
| |
polly5315 | Дата: Среда, 13.04.2011, 15:57 | Сообщение # 3 |
Неизвестный
Группа: Пользователи
Сообщений: 5
Статус: Отсутствует
| Да. Там еще много чего: Slax и дистрибутивы WinXP и Win7. И нужно, чтобы она рассматривалась, как CD-ROM из-за некоторых особенностей дистрибов винды. Так же нужно обсеспечить защиту от записи на этот раздел. Можно, конечно, залезть внутрь флэшки и подпаять перемычку к контроллеру, но для этого нет инструментов, да и будь они - риск испортить девайс слишком велик. Да и пусть это будет не CD-ROM. чисто теоретически. На каком-то разделе у нас лежит образ жесткого диска. В любом случае, если мы его замапим в память на hd0, мы потеряем настоящий hd0. как этого избежать? PS: Этот DOS может грузиться только с первого диска, поэтому hd0.
Сообщение отредактировал polly5315 - Среда, 13.04.2011, 16:02 |
|
| |
Sh1td0wn | Дата: Среда, 13.04.2011, 16:02 | Сообщение # 4 |
Программист
Группа: Модераторы
Сообщений: 3829
Статус: Отсутствует
| polly5315, перемапьте hd0 на hd1 перед мапингом образа на hd0.
НАЖМИ МЕНЯ, прежде чем что-либо написать
|
|
| |
polly5315 | Дата: Среда, 13.04.2011, 16:25 | Сообщение # 5 |
Неизвестный
Группа: Пользователи
Сообщений: 5
Статус: Отсутствует
| Sh1td0wn, тогда потеряется hd1, если он присутствует. я думал об этом. если делать несколько перемапов: map (hd0) (hd1) map (hd1) (hd2) map (hd2) (hd3) map (hd3) (hd4) ... как узнать, когда остановиться?.. да. идеалом было бы, если бы все диски сдвинулись на единицу в большую сторону.Добавлено (13.04.2011, 16:25) --------------------------------------------- если бы можно было узнать сразу, сколько hd есть в системе и замапить hd0 на следующий после последнего номер.
|
|
| |
Sh1td0wn | Дата: Среда, 13.04.2011, 16:36 | Сообщение # 6 |
Программист
Группа: Модераторы
Сообщений: 3829
Статус: Отсутствует
| > как узнать, когда остановиться?.. У WinSetupFromUSB для этого есть отдельные наборы lst-файлов: Code checkrange 8 calc *0x475 & 0xFF && configfile /BOOTWS/8.lst checkrange 7 calc *0x475 & 0xFF && configfile /BOOTWS/7.lst checkrange 6 calc *0x475 & 0xFF && configfile /BOOTWS/6.lst checkrange 5 calc *0x475 & 0xFF && configfile /BOOTWS/5.lst checkrange 4 calc *0x475 & 0xFF && configfile /BOOTWS/4.lst checkrange 3 calc *0x475 & 0xFF && configfile /BOOTWS/3.lst checkrange 2 calc *0x475 & 0xFF && configfile /BOOTWS/2.lst checkrange 1 calc *0x475 & 0xFF && configfile /BOOTWS/1.lst Не думаю, что существует простое и красивое решение.
НАЖМИ МЕНЯ, прежде чем что-либо написать
|
|
| |
polly5315 | Дата: Среда, 13.04.2011, 19:12 | Сообщение # 7 |
Неизвестный
Группа: Пользователи
Сообщений: 5
Статус: Отсутствует
| Похоже, я нашел выход: Code title Run MS-DOS 7.1 fallback 2 errorcheck off map (hd21) (hd22) map (hd20) (hd21) map (hd19) (hd20) map (hd18) (hd19) map (hd17) (hd18) map (hd16) (hd17) map (hd15) (hd16) map (hd14) (hd15) map (hd13) (hd14) map (hd12) (hd13) map (hd11) (hd12) map (hd10) (hd11) map (hd9) (hd10) map (hd8) (hd9) map (hd7) (hd8) map (hd6) (hd7) map (hd5) (hd6) map (hd4) (hd5) map (hd3) (hd4) map (hd2) (hd3) map (hd1) (hd2) map (hd0) (hd1) errorcheck on map --mem /MSDOSHDD.IMA (hd0) map --hook chainloader (hd0)+1 если выключить errorcheck, то при отсутствии устройства не происходит выброс в меню grub4dos. Но после всех попыток перемаппинга я все же решил включить errorcheck обратно. Прошу критики. И.. надеюсь, это решение кому-нибудь поможет.
Сообщение отредактировал polly5315 - Среда, 13.04.2011, 19:13 |
|
| |
oddmsz | Дата: Среда, 13.04.2011, 20:42 | Сообщение # 8 |
Экспериментатор
Группа: Проверенные
Сообщений: 192
Статус: Отсутствует
| На серверном шкафу запускаете что ли? Рассудите реально сколько может быть HDD на компе. Хотя конечно перестраховка не повредит
|
|
| |
polly5315 | Дата: Среда, 13.04.2011, 21:00 | Сообщение # 9 |
Неизвестный
Группа: Пользователи
Сообщений: 5
Статус: Отсутствует
| Проверено. Работает. Правда, некоторые DOS утилиты для работы с жесткими дисками отмечают разницу в direct access и в bios. не могут сопоставить, какой диск на каком физическом приводе находится... но это не так уж мешает им работать.
|
|
| |