реклама на сайте
подробности

 
 
> Разбор msdos партишна linuxом, есть flash с partition->boot_ind == 0x6F вместо 0x80 !
vvj
сообщение Jan 16 2007, 11:18
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 46
Регистрация: 20-01-05
Пользователь №: 2 090



Один из имеющихся четырёх флэшек (usb) не мог определиться в linuxе(2.6) - unknown partition. Полез в исходники - в сравнении с другими usb-дисками (жёсткими в том числе) , оказалось что не проходит проверку на старший бит в partition->boot_ind
http://kernel.org/pub/linux/kernel/people/...-checking.patch
так как там у него "сидит" не 0x80 а 0x20!
Тем временем Windowsы работают с этой флэшкой(128M) корректно. Там же форматнул её FATом. Значение boot_ind - которое теперь читает linux - стало 0x6F, а у второй партишн - 0x69 (у "нормальных" флэшек все три следующие по нулям). Форматнул её FAT32ым. Всё то же.

Что делать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vvj
сообщение Jan 17 2007, 13:24
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 46
Регистрация: 20-01-05
Пользователь №: 2 090



Да, но что если маунтить нечего?
Вот лог подключения usb-винта, который впоследствии успешно маунтится:
Код
/ $ usb 1-1: USB disconnect, address 6
usb 1-1: new high speed USB device using ST40-ehci and address 7
usb 1-1: Product: Mass Storage Device
usb 1-1: Manufacturer: Prolific Technology Inc.
usb 1-1: configuration #1 chosen from 1 choice
scsi6 : SCSI emulation for USB Mass Storage devices
  Vendor: TOSHIBA   Model: MK8025GAS         Rev: KA02
  Type:   Direct-Access                      ANSI SCSI revision: 00
SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
sda:<7>usb-storage: queuecommand called
sda1
sd 6:0:0:0: Attached scsi disk sda

А вот лог подключения usb-флэшки:
Код
/ $ usb 1-1: USB disconnect, address 2
usb 1-1: new high speed USB device using ST40-ehci and address 3
usb 1-1: Product: USB DISK
usb 1-1: Manufacturer: SMI
usb 1-1: SerialNumber: AA04012700553
usb 1-1: configuration #1 chosen from 1 choice
scsi2 : SCSI emulation for USB Mass Storage devices
  Vendor: SMI       Model: USB DISK          Rev: 3000
  Type:   Direct-Access                      ANSI SCSI revision: 00
SCSI device sda: 252928 512-byte hdwr sectors (129 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 252928 512-byte hdwr sectors (129 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
sda:<7>usb-storage: queuecommand called
unknown partition table
sd 2:0:0:0: Attached scsi removable disk sda

В случае с винтом видно что встал он под sda1, а здесь - unknown partition.
Как я понимаю - и маунтить то нечего!
А почему партишн анноун - потому как мусор всякий в поле partition->boot_ind.
Посмотрите ещё раз линк из первого поста - этот патч на детекцию мсдос партиции на данный день официально "имплементирован" (как покажут исходники Ваших ядер).
У винта(и у других флэшек) там в первой структуре 0х80 и по нулям в трёх следующих: если поле отлично от нуля и старший бит стоит - быть здесь мсдос партиции а если не стоИт то это не мсдос -> подбираем тип партиции дальше (и в конечном счёте обламываемся со всеми)
Из комментариев к исходникам видно что старший бит означает что партишн активный.
Так вот вопрос что это за boot_ind, нафик его проверяют и где вообще про него почитать?
В WXP флэшка работает корректно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 02:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016