Монтування дисків в dos і windows

У даній статті я постараюся викласти деякі відомості, що стосуються використання файлових систем в DOS і Windows 95/98 / ME. Розглянемо по порядку наступні питання:

Отже, спробуємо розібратися з усіма цими питаннями.

Що таке логічний диск?

Логічний диск вдає із себе продовження ідеї фізичного диска. У далекі часи першої версії системи DOS, коли ще не було жорстких дисків і файлова система не мала поняття підкаталогу, весь простір секторів однієї дискети (а інших носіїв тоді і не було) ототожнювалося з однієї файлової системою. Зараз ми можемо сказати, що тоді просто логічний диск збігався з фізичним диском, але тоді про це ще ніхто і не замислювався, так як в логічних дисках не було потреби.

Але ось ця потреба настала. Спочатку біля комп'ютера з'явився другий дисковод, і ця обставина призвела до винаходу букв, що позначають фізичні диски. Про це свідчить той факт, що до сих пір літери A: і B: відповідають дисководів, навіть якщо жодного реального дисковода до комп'ютера не підключено. До речі, до цих пір дискети розбиваються на розділи і вдають із себе тотожність логічного і фізичного дисків.

З розвитком жорстких дисків у системи з'явилася нова буква C. Жорсткі диски спочатку теж були крихітними і не відрізнялися сильно від дискет за способом розміщення файлів. Спочатку і жорсткий диск містив лише одну файлову систему, тобто буква С: позначала тільки фізичний пристрій, як і у дисководів. Однак розмір жорстких дисків швидко зростав, і рано чи пізно повинна була наступити ситуація, коли файлова система FAT вже не могла охопити повністю весь диск. Першою була система FAT12, розрахована на 4096 кластерів, що обмежувало розмір диска декількома мегабайтами. Який найбільш простий вихід можна було запропонувати в умовах швидкого зростання ємності вінчестерів?

А вихід якраз і полягав у винаході логічних дисків. Жорсткий диск був поділений на розділи, в кожному з яких містився окремий псевдофізіческій диск, який і був названий логічним. Нове місце на виросли жорстких дисках було освоєно шляхом розміщення на них декількох файлових систем. Благо літери, які позначають диски були вже винайдені і від користувача того часу не було потрібно ніяких додаткових знань, щоб користуватися всім дисковим простором. До того ж, кілька логічних дисків обіцяли нові можливості по адмініструванню знаходиться на них інформації.

Сучасні файлові системи взагалі, і FAT32 зокрема, мають можливість використовувати цілком ємність сучасних жорстких дисків, так що, здавалося б, потреба в логічних дисках знову відходить на другий план, можна знову ототожнити букву диска з фізичним пристроєм. Однак справа вже зроблена - логічні диски виникли в ході історичного розвитку, і тепер саме вони є основними об'єктами адміністрування ОС, а аж ніяк не фізичні диски.

Таким чином, логічні диски слід перш за все ототожнювати з контейнерами файлових систем, що мають свій власний кореневий каталог і таблицю FAT. На одному фізичному диску їх може бути кілька, але щоб уникнути помилок вони не повинні накладатися один на одного.

Скільки логічних дисків може бути в системі?

Головним обмеженням кількості логічних дисків є кількість букв латинського алфавіту, тобто 26. Однак, на практиці це все ж досить велика кількість.

Другим обмеженням, що грає на практиці також важливу роль, є кількість пам'яті, що резервується під системні таблиці опису логічних дисків. Чим більше дисків Ви збираєтеся використовувати, тим більше таблиця потрібна. З метою економії пам'яті під таблицю в DOS була введена команда LASTDRIVE. яка вказувала останній диск, для якого резервувалася запис в таблиці. В системі Windows 95 або 98 це обмеження зняте і таблиця завжди створюється на 26 дисків.

Таким чином, операційні системи мають можливість працювати хоч з 26 дисками, хоча такої кількості зовсім не потрібно, так як файлові системи здатні зайняти весь простір на сучасному вінчестері.

При завантаженні комп'ютера логічні диски повинні бути змонтовані, тобто операційна система повинна якимось чином визначити розташування логічних дисків всередині фізичного диска, прочитати дескриптори файлових систем і зареєструвати у внутрішніх таблицях, що деяким буквах дисків відповідають файлові системи. В результаті цього користувач отримує можливість доступу до файлових систем, розташованим на цих логічних дисках.

Основним засобом для опису логічних дисків є головна запис - MBR. де описуються 4 розділу, на які розбивається жорсткий диск. Кожен розділ описується своїм становищем всередині фізичного диска, і, крім того, йому призначається тип (FSC - file system code), який визначає вміст розділу. Тип кодується одним байтом, в системах DOS використовуються наступні типи:

  • # 01, # 04 - розділи, що містять логічний диск з файловою системою FAT12, FAT16 (до 32м)
  • # 06, # 0E - розділи, що містять логічний диск з файловою системою FAT16
  • # 0B, # 0C - розділи, що містять логічний диск з файловою системою FAT32
  • # 05, # 0F - розширені розділи

Оскільки таблиця в MBR надається щонайбільше 4 розділів, то, здавалося б, більш 4х логічних дисків описати не можна. Насправді в Microsoft обмежилися описом всього одного логічного диска прямо в MBR. Розділ, що описує такий логічний диск був названий PRIMARY DOS PARTITION. і програма fdisk досі дозволяє створювати не більше одного такого розділу, хоча ядро ​​ОС монтує всі такі розділи, правда створити не fdiskом. SyMon надає Вам тут велику свободу.

Для організації всіх інших логічних дисків фірма Microsoft стала використовувати розширений розділ - EXTENDED PARTITION. Fdisk також допускає не більше одного такого розділу, хоча це теж його особиста обмеження. Розширений розділ представляє з себе ланцюжок непересічних підрозділів. Кожен підрозділ описується абсолютно так само як і в MBR, тому в кожному підрозділі з підтримуваним типом файлової системи знаходиться по логічному диску. Довжина ланцюжка підрозділів обмежена тільки розмірами фізичного диска, хоча на практиці, звичайно, тут потрібно швидше пам'ятати про обмеження в 26 букв латинського алфавіту.

Таким чином, розташувавши в MBR всього два розділи, PRIMARY і EXTENDED, є можливість використовувати таке число логічних дисків, яке підтримується ядром ОС.

Як призначаються імена логічних дисків?

На сьогоднішній день логічні диски - це переважно надбання систем, пов'язаних з фірмою Microsoft. А це означає, що без ложки дьогтю і тут не обійшлося. Букви дисків призначаються досить поганим чином.

Перш за все, системи DOS, Windows 95/98 / ME призначають імена логічних дисків жорстким чином, цей порядок не можна змінити. Порядок такий:

  1. Букви призначаються PRIMARY розділах, які позначені прапорцем активності на всіх жорстких дисках. Якщо на якомусь диску жоден з PRIMARY майданчиках не позначений активним, то призначається перший знайдений PRIMARY розділ.
  2. Букви призначаються всім дискам з розширених розділів, розширені розділи обробляються в порядку їх виявлення на всіх жорстких дисках. Жорсткі диски обробляються по черзі, починаючи з першого.
  3. Букви призначаються решті PRIMARY розділах, які не є активними, в порядку їх виявлення на жорстких дисках.

Такий алгоритм призначення призводить до того, що при зміні числа підключених до комп'ютера жорстких дисків одним і тим же логічним дискам призначаються різні літери. Наприклад, якщо на першому жорсткому диску розташований PRIMARY розділ з диском C: і розширений розділ з дисками D: і E. то при додаванні другого, наприклад, такого ж жорсткого диска літери розподіляться так:

Все це призводить до того, що додавання жорстких дисків як правило збиває файлові налаштування всіх програм, які були розташовані не на диску C. Ця обставина істотно ускладнює життя більшості користувачів, які в якийсь момент вирішують обзавестися додатковим жорстким диском.

Резонно виникає питання, хто винен в такому абсолютно нетямущого способі призначення букв? А винна тут так всіма улюблена сумісність! Уявімо собі на секунду хід історичного процесу. На зорі впровадження жорстких дисків логічні диски ототожнювалися з фізичними дисками. Тобто, один жорсткий диск мав ім'я C. другий - D. Тепер уявімо собі отаких ділових користувачів того часу, які напрацювали купу інформації на цих дисках і прийшов час їх замінити більш ємними. Однак проблема була в тому, що нові більш місткі диски були занадто великі для старих файлових систем, так що довелося заводити нові логічні диски на розширених розділах. Але букви C: і D: були вже зайняті і налаштування під них були вже зроблені! Єдиним виходом було монтувати логічні диски з розширеного розділу після логічних дисків з PRIMARY розділів. Фірма Microsoft просто пішла на поводу у своїх клієнтів, яким потрібна була сумісність!

Тепер ми можемо тільки шкодувати, що шляхи сумісності несповідимі. Але можемо і радіти, так як, проте, у нас є привід для оптимізму - SyMon і утиліти його технічної підтримки можуть вирішити ці старі проблеми.

Як використовувати під логічні диски більше 4х PRIMARY розділів?

Таблиця розділів SyMon підтримує до 36 розділів, кожен з яких можуть бути зроблені PRIMARY розділами і містити інформацію про логічних дисках. Однак складність полягає в тому, що в MBR можуть бути відображені тільки 4 з них. Тому до SyMon'у додається утиліта mount.exe. яка вміє монтувати логічні диски з усіх розділів з таблиці розділів SyMon.

Як боротися зі зрушенням назв логічних дисків при підключенні додаткових жорстких дисків?

Та ж утиліта mount.exe має здатність прив'язки логічних дисків до розділів за допомогою конфігураційного файлу fstab. який повинен бути розташований в тому ж каталозі, що і виконуваний файл. Ви можете без праці призначити будь-який порядок букв, що позначають логічні диски на різних жорстких дисках. Зокрема, це дозволяє уникнути зсуву літер.

Щоб букви логічних дисків першого жорсткого диска не зрушується при додаванні другого диска, необхідно перш за все очистити MBR другого жорсткого диска від всіх PRIMARY і EXTENDED розділів. Також можна в налаштуваннях SyMon прибрати з MBR першого диска всі розділи, крім завантажується. Ці дії дозволять гарантувати, що стандартний механізм монтування розділів DOS або Windows не зіпсує бажаного порядку логічних дисків через відсутність інформації про те, звідки їх взяти.

Потім, потрібно відредагувати файл fstab і запустити утиліту mount.exe, яка зареєструє всі диски під тими іменами, які Вас влаштовують. І все.

Як змінити порядок монтування дисків з розширеного розділу?

Утиліта mount.exe дозволяє також монтувати окремі логічні диски з розширеного розділу. Завдяки цьому, ви можете при бажанні змінити порядок призначення букв цим дискам. За замовчуванням диски розташовуються за алфавітом у порядку їх слідування в розширеному розділі.

Які правила користування утилітою mount.exe?

Правила користування утилітою mount.exe досить прості.

  1. Утиліту разом з файлом fstab потрібно скопіювати в будь-який зручний для вас каталог диска C. Потім потрібно вписати виклик цієї утиліти в файл AUTOEXEC.BAT.
  2. У файлі fstab потрібно описати всі логічні диски в такий спосіб:
  • N - номер жорсткого диска, починаючи з нуля
  • M - номер розділу в таблиці розділів SyMon
  • L - номер підрозділу всередині розширеного розділу, якщо розділ M є розширеним.

Кожному логічному диску потрібно зіставити одну сходинку дескриптора.

На закінчення наведемо приклад файлу fstab для випадку двох жорстких дисків, на кожному з яких є основний розділ з диском C: і розширений розділ з дисками D: і E. але ми хочемо уникнути зсуву літер. Нехай основні розділи прописані в рядку 0 таблиці розділів SyMon, а розширені - у рядку 1.

Схожі статті