LINUX.ORG.RU

Сектор начала и окончания партиции


0

0

Кто нибудь знаеть, как узнать с какого сектора начигается /dev/hda5
Зада ча такова.
В прогу поступает строка с именем партиции и на выходе необходимо узнат до какого сектора на харде идет эта партиция или до какого байта
Прога на С
Заранее благодарю.

anonymous

Ответ на: комментарий от Die-Hard

~$ sudo /sbin/fdisk -l /dev/hda

Disk /dev/hda: 4311 MB, 4311982080 bytes
255 heads, 63 sectors/track, 524 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         474     3807373+  83  Linux
/dev/hda2             475         524      401625   82  Linux swap

Здесь достаточно информации для решения твоей задачи?

sdio ★★★★★
()
Ответ на: комментарий от sdio

2sdio (17.01.2005 17:57:14):

> Здесь достаточно информации для решения твоей задачи?

Очевидно, нет.

Только не обижайся, мне просто интересно.

Я довольно часто наблюдаю тут похожие ответы. И мне действительно интересно, что же движет отвечающими. Можешь пояснить ход твоих мыслей? Т.е. почему на предложение посмотреть исходники fdisk ты приводишь результат вызова fdisk?

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

2Die-Hard: 
1. Возможно я отвечал не на предложение посмотреть исходники?
2. Мой пост был в виде вопроса.
3. Если все можно вычислить из вывода fdisk,
   может быть это будет проще?

sdio ★★★★★
()
Ответ на: комментарий от sdio

sdio (17.01.2005 22:24:04):

> 1. Возможно я отвечал не на предложение посмотреть исходники?

Ты отвечал на пост от Die-Hard 17.01.2005 15:55:53. Die-Hard 17.01.2005 15:55:53:"Мне тоже интересно стало :-) Посмотри исходники fdisk, parted или чего подобного... ".

> 3. Если все можно вычислить из вывода fdisk, может быть это будет проще?

Не понимаю логики. Если я предлагаю посмотреть исходники fdisk, то, наверное, я знаю, ЧТО он выводит, так? И, очевидно, мне хочется узнать то, КАК он это делает, не так ли? И исходный пост был именно про это: стоял вопрос про API, а не про системную команду.

Я прошу извинения за эти придирки, но мне, действительно, интересен ход мыслей.

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

Люди - я тот человек который открыл тему
Проблема в том что в исходниках фдиска черт ногу сломит
Получить геометрию диска - не проблема и это я могу
А вот как понять и попроще что /dev/hda7 - начмнается со 1235 сектора или 12412400 байта и желательно одной функцией - это тяжелей
сейчас роюс в partx

anonymous
()

по-моему (сам не пробовал), так можно:

fd = open("/dev/hda1", O_RDONLY);

struct hd_geometry geo;

ioclt(fd, HDIO_GETGEO, &geo);

struct hd_geometry {
      unsigned char heads;
      unsigned char sectors;
      unsigned short cylinders;
      unsigned long start;
};

во всяком случае, в block_device_operations->ioctl
это вроде бы есть.

idle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.