[Цитировать]

    Kupr_Soft
  • 26917
  • Стаж: 3 года 3 месяца
  • Сообщений: 30
  • Репутация:16

    [+] [-]
  • Откуда: Питер
Доброго...
искал, но вроде не увидел конкретно такой ситуации как у меня...
в общем есть флешка, с несколькими разделами (4)
все в Fat32(LBA)
на первом разделе DOS и автозапуск Груб (0.4.6a 2014-01-17)
в грубе есть переходы на другие разделы, там пара WinPE и дистрибутив Win10
Менюшки выглядят так:
chainloader (hd0,3)+1
chainloader (hd0,2)+1
root (hd0,1)/MIPE/BOOT/BOOTMGR
chainloader (hd0,1)+1/MIPE/BOOT/BOOTMGR
boot

сейчас понадобилось перейти на другую флешку...
делал клонирование разными программами
Ghost, Acronis... и всякие другие.
На новой флешке, в процессе загрузки с этих разделов, выдаёт ошибку подобного вида:

Fatal! Inconsistent data read from (0x80)938418113+127
Fatal! Inconsistent data read from (0x80)938418176+1
Fatal! Inconsistent data read from (0x80)938418113+127
Fatal! Inconsistent data read from (0x80)938418176+1
chainloader (hd0,3)
Error 25: Disk read error

и чёт я не понимаю, куда копать...
А если запускать новую флешку через Qemu, то вроде всё ок и нормально загружается...


Последний раз редактировалось: Kupr_Soft (2023-08-23 11:51), всего редактировалось 1 раз

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 2 месяца
  • Сообщений: 3612
  • Репутация:127

    [+] [-]
100947Груб (0.4.6a 2014-01-17)
Не пора ли отнести бабушку в морг? ab
Я обычно прислушиваюсь к рекомендациям:
I highly recommend that you download and use only this version of grub4dos 0.4.6a version 2020-02-29 (2019-09-09 or 2019-12-30 are also good) – Other versions of grub4dos, both older and newer, may be buggy!

[Цитировать]

    Kupr_Soft
  • 26917
  • Стаж: 3 года 3 месяца
  • Сообщений: 30
  • Репутация:16

    [+] [-]
  • Откуда: Питер
Я обычно прислушиваюсь к рекомендациям:
I highly recommend that you download and use only this version of grub4dos 0.4.6a version 2020-02-29 (2019-09-09 or 2019-12-30 are also good) – Other versions of grub4dos, both older and newer, may be buggy!
Да блин, я уже попробовал
grub4dos-0.4.6a-2019-09-09
grub4dos-0.4.6a-2019-12-30
grub4dos-0.4.6a-2020-02-29
grub4dos-0.4.6a-2023-07-01

дык они вообще НЕ запускаются =)
Programm too big to fit in memory
бред какой-то...
уже поздно вечером попробовал не клонировать а тупо заново форматнуть в DOS и напихать всё туда с чистого листа...
Как не странно, стали работать все версии груба...
остаётся сделать разделы и их проверить..
P.S.
после дня ковыряния...
выяснено, что флешка, работает, но только на виртуалке либо на современной материнке.
если мать типа для Athlon X2 ил более ранняя то GRUB вываливается с ошибкой... при попытке перейти на другой раздел...
всё больше склоняюсь к тому что...
старые материнки походу не понимает флешки более 128Gb... либо некорректно считают сектор для старта с раздела...
на строй флешке 128Gb всё ок, работает на ВСЕХ материнках. (у меня там 4 раздела, все в FAT32)
пробовал 256Gb и 512Gb а вот с ними уже проблема...
хех... блин прикольно... ai
P.P.S. На всякий случай форматнул один из разделов в NTFS и проверил. Ведёт себя так-же как и FAT32.
На новых видится и пытается стартовать, на старых материнках- в ошибку...
Попробовал даже клонировать 128 на 256 с сохранением размеров всех разделов. (в конце пустое неразмеченное пространство)
всё равно не хочет грузиться с разделов...
Значит дело всё-же именно в самой разметке диска. В общем количестве секторов...

[Цитировать]

    JuraAD
  • 28398
  • Стаж: 2 года 9 месяцев
  • Сообщений: 72
  • Репутация:26

    [+] [-]
-)
https://ru.ruwiki.ru/w/index.php?title=FAT32
Максимально возможное число кластеров в FAT32 равно 268 435 445, что позволяет использовать тома (логические диски) объёмом до 8 TiB. Фактически максимальный размер всего диска не может быть более 2 TiB[1]. Размер кластера по умолчанию для файловой системы FAT32 составляет от 512 байт до 32 КБ в зависимости от размера тома и конкретной версии ОС[2]. При использовании размера кластера, равного 32768 байт, максимальный размер тома составит чуть менее 8 ТБ[3]. Хотя размер сектора может быть любым, традиционно он считается равным 1 сектору диска и равен 512 байт и так как эта величина не менялась с момента создания — она может считаться некоторым ПО как константа. Это может вызвать некоторые проблемы совместимости.
ps: современный стандарт FAT32 может допускать размер кластера: 64КБ и 128КБ, но с таким форматом я не нашел кто может работать... :lol: Тестировал кластер 32КБ, раздел 32ГБ и 64ГБ (по-моему), выше - уже начинаются проблемы, крышу срывает у утилит...
>format.com /?
Форматирование диска для работы с Windows.
FORMAT том [/FS:файловая_система] [/V:метка] [/Q] [/L[:состояние]] [/A:размер] [/C] [/I:состояние] [/X] [/P:проходы] [/S:состоян
ие]
...
/A:size Переопределяет размер единицы размещения по умолчанию. В общих случаях
...
FAT32 поддерживает размеры 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K,
(128K, 256K для размера сектора > 512 байт).
...
Обратите внимание, что в системах FAT и FAT32 существуют
следующие ограничения на число кластеров в томе:
FAT: число кластеров <= 65526
FAT32: 65526 < число кластеров < 4177918
...
psps: загрузчики из MBR используют разные прерывания BIOS
13h 02h
13h 0ah
зависит от поддержки функций BIOS-ом... На старых машах 13h 0ah может не поддерживаться... -)

[Цитировать]

    Kupr_Soft
  • 26917
  • Стаж: 3 года 3 месяца
  • Сообщений: 30
  • Репутация:16

    [+] [-]
  • Откуда: Питер
Чёт перечитываю, пытаюсь осмыслить...
но никак не могу в голове всё разложить по полкам...
Ну размер кластера, это размер куска данных который можно записать на диск.
если скажем кластер 64кб а кусок данных 1кб он всё равно займёт ВЕСЬ кластер.
и по идее если сделать размер кластера-большой то Общее количество кластеров на диске станет меньше...
счас проверил -> флешка на 32Gb
FAT32 64 - 472 096 (количество кластеров)
FAT32 16 - 1 887 616 (количество кластеров)

Значиться:
кластер для FAT32 =
классика это 512
тестировалось 32к
в теории максимум 64к
если я правильно понимаю мысль, то надо форматьнуть эту большую флешку с кластером в 32 и посмотреть общее количество кластеров, что-бы оно не выходило за 4 177 918
p.s. Сейчас попробовал...
если разбить по 32кб (32 768 байт)
то количество кластеров = 15 624 472
блин... дофига получается...
сейчас форматнул с помощью проги
с кластером 64к (65 536 байт)
то количество кластеров = 7 813 189
один фиг много... почти в два раза...
P.P.S.
В общем сейчас побаловался ещё...
есть флешка на 256Gb
софтиной форматнул её FAT32 кластер 32к
с помошью BootIce прописал досовый загрузочный сектор, закинул системные файлы.
в Виртуалке стартанул DOS
потом эту-же флешку форматнул FAT32 с клаcтером по 64к
с помошью BootIce прописал досовый загрузочный сектор, закинул системные файлы.
и при запуске виртуалка не стартанула DOS
написало типа загрузка, и всё на этом.
ну походу рeально что максимальный кластер для DOS это всё-же 32к
и соотвественно, обхитрить тут не получится...
максимальный размер Флешки для нормально работы загрузочного DOS
это 128Gb

[Цитировать]

    JuraAD
  • 28398
  • Стаж: 2 года 9 месяцев
  • Сообщений: 72
  • Репутация:26

    [+] [-]
101006Чёт перечитываю, пытаюсь осмыслить...
но никак не могу в голове всё разложить по полкам...
Ну размер кластера, это размер куска данных который можно записать на диск.
если скажем кластер 64кб а кусок данных 1кб он всё равно займёт ВЕСЬ кластер.
и по идее если сделать размер кластера-большой то Общее количество кластеров на диске станет меньше...
https://ru.ruwiki.ru/w/index.php?title=LBA
В общем нужно понимать:
1. Понятие сектора - физический размер единицы записи на поверхность уст-ва - часто путают с блоками, на уровне прерываний мы работаем не с сектарами, а с блоками, с секторами работает контроллер диска (размер блока может совпадать с размером сектора, раньше так и было 512 байт)...
2. Понятие блок - размер единицы записи программный на уст-во...
3. Понятие кластера - размер единицы записи в разделе. Для каждого раздела - свой...
и т.д...
А ограничения на размер раздела нужно считать по размеру блока и допустимого количества... У MS свои предпочтения - свои стандарты... всех научили дури... -)))
+ есть ограничение на размер раздела в записи MBR - но это другая история про дурь инженерную...

[Цитировать]

    Kupr_Soft
  • 26917
  • Стаж: 3 года 3 месяца
  • Сообщений: 30
  • Репутация:16

    [+] [-]
  • Откуда: Питер
Май факинг брейн...
стало ещё запутаннее...
... по факту, Досовый загрузчик в MBR - работает и на больших дисках, вон 512Gb размечаk в FAT32
и запускал DOS. всё ок.
Значит полагаю что ЭТА тема тут не мешает:
101004
psps: загрузчики из MBR используют разные прерывания BIOS
13h 02h
13h 0ah
зависит от поддержки функций BIOS-ом... На старых машах 13h 0ah может не поддерживаться... -)
А вот уже у GRUB4DOS проблемы при обращении к разделам.
причём только на старых матерях...
старые материнки не умеют понимать разделы что-ли... или адресацию...
но ведь на современных матерях такого нету, всё грузится...
...получается на уровне BIOS где-то ограничения на ...
на размер блока... или даже точнее на его адресацию...
типа слишкоб большие цифры получаются и старый биос не понимает куда обращаться на диске...
я уже просто не понимаю, куда копать что-бы попытаться как-то решить броблему-то...
разбить на 4 раздела флешку, делал...и кластеры размером менял...
но если я правильно понимаю, то скорее всего ограничение на количество блоков, а оно не зависит от разделов и кластера...
оно просто изначально есть и его нельзя изменить...
а значит и подсунуть старому биосу то-же...
Но с другой стороны...
я-же делал клон 128Gb флешки на 512Gb
так что-бы все разделы были точь в точь и в конце оставалось свободное место...
по идее в таком случаем я НЕ обращался к каким-то большим цифрам по адресам...
и всё равно это вываливалось с ошибками...

[Цитировать]

    JuraAD
  • 28398
  • Стаж: 2 года 9 месяцев
  • Сообщений: 72
  • Репутация:26

    [+] [-]
http://biosprog.narod.ru/real/ints/int13.htm
не совсем правильно написано... вообще в и-нете столько дури написано...
13h 02h - прочитать секторы в память (старая)
13h 0ah - прочитать длинные секторы в память (новая) где-то с 1994 года начали внедрять...
различаются, вторая более современная
старые машины (BIOS) могут не поддерживать функцию 13h 0ah... GRUB4DOS - когда я его смотрел, по-моему была в нем автопроверка поддержки
кроме-того контроллеры дисков бывают расчитаны на разную разрядность в битах:
https://ru.ruwiki.ru/w/index.php?title=ATA
Оригинальная спецификация АТА предусматривала 28-битный режим адресации. Это позволяло адресовать 228 (268 435 456) секторов по 512 байт каждый, что давало максимальную ёмкость в 137 Гб (128 ГиБ). В стандартных PC BIOS поддерживал до 7,88 ГиБ (8,46 Гб), допуская максимум 1024 цилиндра, 256 головок и 63 сектора. Это ограничение на число цилиндров/головок/секторов CHS (Cyllinder-Head-Sector) в сочетании со стандартом IDE привело к ограничению адресуемого пространства в 504 МиБ (528 Мб). Для преодоления этого ограничения была введена схема адресации LBA (Logical Block Address), что позволило адресовать до 7,88 ГиБ. Со временем и это ограничение было снято, что позволило адресовать сначала 32 ГиБ, а затем и все 128 ГиБ, используя все 28 разрядов (в АТА-4) для адресации сектора. Запись 28-битного числа организована путём записи его частей в соответствующие регистры накопителя (с 1 по 8 бит в 4-й регистр, 9-16 в 5-й, 17-24 в 6-й и 25-28 в 7-й).
Что-бы разобраться где срабатывает ограничение, нужно это все сложить в голове... -)))
ps: так что, когда пишут поддержку ATA, EFI и все такое, часто забывают версию релиза, а по функцианалу они координально могут различаться... А многим - пофиг. Указан стандарт - не работает, долбятся о стену... -)
101006
максимальный размер Флешки для нормально работы загрузочного DOS
это 128Gb
Скорее не флэхи - а раздела для загрузки в первых 128Gb... -)


Последний раз редактировалось: JuraAD (2023-08-19 21:15), всего редактировалось 1 раз

[Цитировать]

    Kupr_Soft
  • 26917
  • Стаж: 3 года 3 месяца
  • Сообщений: 30
  • Репутация:16

    [+] [-]
  • Откуда: Питер
Скорее всего на этом моменте я сдаюсь.
Не настолько я прям заинтересован в разгадывании этой загадки...
да и что более важно не настолько сведущь.
Просто возьму очень скоростную флешку но так-же на 128Gb

[Цитировать]

    JuraAD
  • 28398
  • Стаж: 2 года 9 месяцев
  • Сообщений: 72
  • Репутация:26

    [+] [-]
101006
максимальный размер Флешки для нормально работы загрузочного DOS
это 128Gb
Скорее не флэхи - а раздела для загрузки в первых 128Gb... -) Возми хоть 2ТБ, загрузку с разделом оставь в первых 128Gb
зы: в МСДосе есть файлец io.sys прочитай что это... https://ru.ruwiki.ru/w/index.php?title=IO.SYS
https://ru.ruwiki.ru/wiki/MS-DOS почитай о версиях -)))


Последний раз редактировалось: JuraAD (2023-08-19 21:38), всего редактировалось 3 раз(а)

[Цитировать]

    Kupr_Soft
  • 26917
  • Стаж: 3 года 3 месяца
  • Сообщений: 30
  • Репутация:16

    [+] [-]
  • Откуда: Питер
Но с другой стороны...
я-же делал клон 128Gb флешки на 512Gb
так что-бы все разделы были точь в точь и в конце оставалось свободное место...
по идее в таком случаем я НЕ обращался к каким-то большим цифрам по адресам...
и всё равно это вываливалось с ошибками...
я конечно в понедельник снова на работе попробую, не клонировать а создать... несколько разделов
маленьких на 256Gb флешке...
P.S. Ну и про дос-то я вкратце знаю, как никак начинал с него =)
да , у меня 7.1 последний адекватный.
UPD.
В общем выкроил минутку потестить...только спустя сутки.
Для опытов использовал флешку на 256Gb
разбил на куски вручную, FAT32 кластеры разные пробовал (это не влияет)
вот в таком конфиге :

так-же как и в таком:

Всё работает. Ибо получается что загрузочный сектор 4 раздела, всё ещё влезает в адресацию FAT32 (128Gb)
А вот такой вариант:

При попытке загрузиться с последнего раздела, выкидывает ошибку.
Потому как здесь загрузочный сектор 4 раздела уже вышел за 130Gb
...странно, мне казалось что я уже пробовал такие манипуляции, одними из первых...и у меня тогда НИЧЕГО не работало.
потому я и думал что в этом направлении бесполезно копать.
Ну в общем по итогу: решение есть. Придётся как-то теперь перекроить флешку, раньше у меня всегда первый раздел был максимальным =)
а теперь надо сделать последний...
P.P.P.S. JuraAD, спасиб за умные мысли...


Показать сообщения:    

Текущее время: 28-Апр 12:52

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы