Разметка и установка GRUB

Все вопросы по установке, обновлению и эксплуатации FreeBSD: конфигурация и сопровождение.

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
QuAzI
мл. сержант
Сообщения: 79
Зарегистрирован: 2009-08-04 16:41:09

Разметка и установка GRUB

Непрочитанное сообщение QuAzI » 2010-07-24 18:47:45

Что-то чем больше ковыряюсь с разметкой, тем больше волосы на спине шевелятся.
Есть винт, на нём раньше была винда, сейчас она успешно грохнута в пользу FreeBSD и нужно стянуть данные со старых слайсов. Всё бы хорошо, но откуда ползут 5 и 6 слайсы? То что в Extended расположено видно как разделы в слайсе.

Они есть и монтируются
# ls /dev/ad0*
/dev/ad0 /dev/ad0s2 /dev/ad0s2s2 /dev/ad0s2s5 /dev/ad0s3a /dev/ad0s3c /dev/ad0s3cb /dev/ad0s3ce /dev/ad0s3e /dev/ad0s6
/dev/ad0s1 /dev/ad0s2s1 /dev/ad0s2s5 /dev/ad0s3 /dev/ad0s3b /dev/ad0s3ca /dev/ad0s3cd /dev/ad0s3d /dev/ad0s5
bsdlabel давится и ничего не выводит
# bsdlabel -A /dev/ad0
bsdlabel: /dev/ad0: no valid label found
fdisk показывает только 4 слайса, что вполне естественно при отсутствии GPT
# fdisk ad0
******* Working on device /dev/ad0 *******
parameters extracted from in-core disklabel are:
cylinders=155058 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=155058 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 6 (0x06),(Primary DOS, 16 bit FAT (>= 32MB))
start 63, size 2104452 (1027 Meg), flag 0
beg: cyl 0/ head 1/ sector 1;
end: cyl 130/ head 254/ sector 63
The data for partition 2 is:
sysid 15 (0x0f),(Extended DOS (LBA))
start 40965750, size 115330635 (56313 Meg), flag 0
beg: cyl 1023/ head 0/ sector 1;
end: cyl 1023/ head 254/ sector 63
The data for partition 3 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 2104515, size 38860605 (18974 Meg), flag 80 (active)
beg: cyl 39/ head 13/ sector 1;
end: cyl 703/ head 15/ sector 63
The data for partition 4 is:
<UNUSED>
И второй вопрос, уже всё облазил, но ответа не нашёл, установка GRUB :smile:
Он отказывается ставиться, пишет
> The file /boot/grub/stage1 not read correctly.

до тех пор пока не запустишь sade и не ткнёшь "сохранить".
Вытащил первые 64 килобайта перед выполнением sade и после выполнения sade.
vbindiff помог выкурить в них отличия в двух местах:
1) два байта по смещению 0x01C4 в MBR забиваются FF FF.
2) по смещению 0x8000 меняется больше данных, но после поблочного переписывания
стало понятно что интересует только первый блок слайса.
Вытаскивал командой dd if=/dev/ad0 of=block bs=512 count=1 seek=64
Что делать и как лечить кроме ручного вмешательства с sade? Hужно автоматом
разворачивать систему.

Единственная команда показавшая разницу до и после выполнения sade
> bsdlabel -A ad0s1

Которая после выполнения sade стала писать две строки с ошибками, но всё равно
всё работает и GRUB уже будет ставиться без вопросов.

Вот вывод до sade

# /dev/ad0s1:
type: unknown
disk: amnesiac
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 24963
sectors/unit: 25163649
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0

8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 1048576 16 4.2BSD 2048 16384 8
b: 2097152 1048592 swap
c: 25163649 0 unused 0 0 # "raw" part, don't
edit
d: 22017905 3145744 4.2BSD 2048 16384 28552

А вот вывод после sade

# /dev/ad0s1:
type: ESDI
disk: ad0s1
label:
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 24966
sectors/unit: 25165824
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0

8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 1048576 16 4.2BSD 0 0 0
b: 2097152 1048592 swap
c: 25163649 0 unused 0 0 # "raw" part, don't
edit
d: 22017905 3145744 4.2BSD 0 0 0

>bsdlabel: partition c doesn't cover the whole unit!
>bsdlabel: An incorrect partition c may cause problems for standard system
>utilities

Чем можно автоматизировать вносимые sade изменения в разметку? Или хотябы
почему такая бредятина получается и при создании разметки через fdisk/bsdlabel
и при создании через gpart create.
Примечательно что если ставить FreeBSD через sysinstall то глюка не вылазит, так как для разметки как правило используется sade, но как раз надо обойтись без sade.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

QuAzI
мл. сержант
Сообщения: 79
Зарегистрирован: 2009-08-04 16:41:09

Re: Разметка и установка GRUB

Непрочитанное сообщение QuAzI » 2010-08-10 10:59:24

Мда. Не густо ответов. Вот ещё на одной машине интересная картинка

Код: Выделить всё

# fdisk /dev/ad4
******* Working on device /dev/ad4 *******
parameters extracted from in-core disklabel are:
cylinders=620178 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=620178 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 125828577 (61439 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 1023/ head 15/ sector 63
The data for partition 2 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 125828640, size 499310784 (243804 Meg), flag 0
        beg: cyl 1023/ head 255/ sector 63;
        end: cyl 1023/ head 15/ sector 63
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>
Первый слайс начинается на первой бошке и по пятнадцатую, а второй слайс начинается с последней бошки и считает обратно?

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: Разметка и установка GRUB

Непрочитанное сообщение manefesto » 2010-08-12 8:38:21

какой то велосипед у вас.
мы не противные что не отвечаем, просто нам(мне) лениво
я такой яростный шо аж пиздеЦ
Изображение

QuAzI
мл. сержант
Сообщения: 79
Зарегистрирован: 2009-08-04 16:41:09

Re: Разметка и установка GRUB

Непрочитанное сообщение QuAzI » 2010-08-12 9:05:59

Угу, велосипед, причём на разных компах разный и непонятно, почему так происходит. И всё бы ничего, FreeBSD с родным загрузчиком на UFS работает как бронепоезд (на то она и FreeBSD), но вот с другими разделами фиг и софт (ака grub, bsdlabel и чегой-то там по мелочи) начинают сума сходить.

jnz
проходил мимо

Re: Разметка и установка GRUB

Непрочитанное сообщение jnz » 2010-08-12 15:36:04

bsdlabel/fdisk/dd of=/dev/da0.. - deprecated.
gpart и только gpart (даже если живем на MBR), иначе лезут глюки с GEOM
imh0