![]() |
|
Модераторы: xvr |
![]()
|
|
| banich |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 16.11.2005 Репутация: нет Всего: нет |
Допустим, что из MBR жесткого диска я узнал, что LBA-адрес первого extended раздела равен X. По идее если я cделаю так:
fd=open("/dev/hda",O_RDONLY)) lseek(fd,X,0); то попаду в нулевой сектор этого расширенного раздела, где должна располагаться его собственная таблица разделов. почему-то этого не происходит, может я всё совсем не так делаю? Помогите плз PS вообще задание заключается в том, чтобы подсчитать количество всех primary, extended и logical разделов на диске... |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
banich
LBA адрес побайтно считается? По-моему поблочно Это сообщение отредактировал(а) MAKCim - 29.10.2006, 22:15 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| banich |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 16.11.2005 Репутация: нет Всего: нет |
спасибо большое!
Это сообщение отредактировал(а) banich - 1.11.2006, 00:20 |
|||
|
||||
| banich |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 16.11.2005 Репутация: нет Всего: нет |
Все по той же задаче:
чтобы разобраться, я почитал вот эту статью http://www.opennet.ru/base/dev/hdd_struct.txt.html, в которой даже приведена готовая программа. Вот результат ее работы на моем компьютере: Num Bootable Start Total Id Type 1 * 63 34812792 0x07 HPFS/NTFS 2 34812855 61432560 0x07 HPFS/NTFS 3 96245415 216331290 0x0F Win Ext'd (LBA) 5 171204768 141371937 0x07 HPFS/NTFS А вот что пишет fdisk: Устр-во Загр Начало Конец Блоки Id Система /dev/hda1 * 63 34812854 17406396 7 HPFS/NTFS /dev/hda2 34812855 96245414 30716280 7 HPFS/NTFS /dev/hda3 96245415 312576704 108165645 f W95 расшир. (LBA) /dev/hda5 171204768 312576704 70685968+ 7 HPFS/NTFS /dev/hda6 96245541 114671969 9213214+ 83 Linux /dev/hda7 114672033 115700129 514048+ 83 Linux /dev/hda8 115700193 117804644 1052226 82 Linux своп / Solaris /dev/hda9 117804708 171204704 26699998+ 83 Linux Скорее всего, я как-то не так пытаюсь сослаться на второй extended раздел, используя данные из таблицы первого. В статье сказано, что нужно брать адрес 1-го логического раздела от начала винча + размер этого лог диска Скажите пожалуйста, как сделать правильно... |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
Что за второй extended? Я тут только 1 вижу Если у тебя есть адрес extended раздела - не вижу проблемы получить все остальное Приведи свой код -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| banich |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 16.11.2005 Репутация: нет Всего: нет |
скорее всего что-то не так с функции read_ext_ptable() |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |