> man operating_systems
Магия разделов по Линуксу
Partition Magic из консоли
на Воскресенье, 28 Ноябрь 2004, 11:28
добавил: Roman I Khimov список авторов печатать элемент контента создать pdf-файл  элемент контента
категория Статьи
комментарии: 0
просмотров: 2687


<span style='float: right; border:3'><a href='http://www.osrc.info/files/images/articles/partmagic/gentoo-console.png'><img src='http://www.osrc.info/files/images/articles/partmagic/gentoo-console-small.png' alt='Красивая консоль Gentoo' title='Красивая консоль Gentoo'/></a></span>
Вспоминаем - что есть Unix? Unix это файл. Файл везде и файл всегда. Что такое раздел на винчестере в Linux? Это файл. Это файл вида "<tt>/dev/hdxx</tt>", третья буква по очереди отделяет друг от друга различные физические винчестеры, а третья цифра - разделы на том самом винчестере. Итого, имеем записи вида "<tt>/dev/hda1</tt>", "<tt>/dev/hda4</tt>", "<tt>/dev/hda6</tt>", и т.д. В этих примерах физический винчестер один, однако, если их несколько, то определиться будет легко либо по существующим разделам и показаниям cfdisk (чуть позже), либо просто зная принцип по которому назначаются буквы. Как ни странно, но этот принцип тривиален - по порядку. То есть на первом контроллере master имеет букву "a", там же slave "b", на втором master "c", на ней же slave "d" и так далее, если у вас большее число IDE-контроллеров (в чем я сомневаюсь .

Теперь рассмотрим разделы. Разделы тоже нумеруются очень просто и логично. Но надо понять, какие же бывают разделы и что с этим делать. Итак, разделы бывают первичные (Primary) и логические (Logical). Сам по себе винчестер с традиционным разбиением может содержать до четырех первичных записей, но одна из них может содержать в себе другие записи - записи о логических разделах. Такой раздел называется Extended разделом и у него есть свой тип файловой системы - <tt>0x05</tt>, фактически, это все, что отличает Extended раздел от Primary в таблице разделов. На всякий случай напомню, что информация о типе ФС хранится вместе с записью о разделе. Так что, хоть структура диска и может быть представлена как плоская, она скорее все-таки напоминает дерево (из-за вложенности логических разделов в один первичный).

Разберемся окончательно с разделами. Все Primary (и Extended, соответственно) разделы (4 штуки) идут по порядку как <tt>hdx1</tt>, <tt>hdx2</tt>, <tt>hdx3</tt> и <tt>hdx4</tt> (подставьте вместо x букву своего диска). Этот порядок задается только физическим размещением разделов на диске. Стало быть, в моем случае, разметка была такая: один Extended раздел в самом начале диска и затем три Primary. В Extended разделе находились два логических раздела. Логические же разделы нумеруются также просто - по порядку с <tt>hdx5</tt>.

Надеюсь, что мои запутанные объяснения хоть в чем-то кому-то помогли (во всяком случае, по ходу написания статьи я и сам успел запутаться ). Так вот, переходим непосредственнок работе. Основной наш инструмент - <tt>cfdisk</tt>, программа для редактирования разметки диска. Со своими задачами она справляется на ура, но есть одна заминка - мы работаем над "" диском и нам бы надо сохранить данные.

Но это очень просто! Я, например, как уже было упомянуто выше, просто подключил внешний винчестер и скопировал необходимый раздел на него, во-первых, я тогда не знал об одной утилитке, которая может двигать разделы, а во-вторых, сделал все-таки резервную копию! Как-никак, а это тоже важно. Чем же скопировать раздел в Linux, возможно спросит озадаченный читатель, привыкший к графическим backup-утилитам? Ну как чем... Вернитесь несколькими абзацами выше и вспомните, что в Unix все есть файл. А я так долго распинался про то, как найти файл вашего раздела именно для того, чтобы потом вы могли его скопировать быстро и безболезненно. Что у нас есть для работы с файлами? <tt>cp</tt> здесь не подойдет, как бы того ни хотелось, все-таки файл файлом, но так наглеть не надо (файл специальный, надо понимать). А мы просто возьмем да прочитаем файл и перенаправим поток в какой-нибудь файл! Старый добрый <tt>cat</tt> приходит на помощь.

Можно, в принципе, воспользоваться и <tt>dd</tt>, в данном случае это не принципиально, но с <tt>dd</tt> вроде как чуть-чуть сложнее получается. Кстати, а для "" винчестеров есть еще такая вещь как <tt>ddrescue</tt> - при ошибке чтения эта, в отличие от просто <tt>dd</tt> и уж тем паче <tt>cat</tt>, не вывалится в консоль на том месте, где она возникла, а будет идти дальше и выуживать все что можно. Так вот в нашей красивой консоли достаточно набрать "<tt>cat /dev/hdxx &gt; file</tt>" и пойдет процесс копирования! В моем случае копировался второй раздел из первого Extended, посему я сделал "<tt>cat /dev/hda6 &gt rootfs</tt>". Конечно, имена файлов можете задавать по обстоятельствам, но процесс копирования после этого пойдет, а именно это нам и нужно! Кстати, такой скорости копирования на свой внешний винчестер я еще никогда не видел. Конечно, это неудивительно - текстовый режим, минимум сервисов, один большой сплошной файл... В общем, даже 8 гигабайт, которые занимал мой старый раздел копировать было отнюдь не утомительно.

Вкратце о моем старом разбиении диска на 40 Гб: Extended раздел в самом начале, содержащий 256-мегабайтный раздел со свопом для Linux и раздел на 8 Гб для корневой ФС Linux, Primary раздел для Windows на 8 Гб, раздел на 4 Гб для экспериментов и оставшееся место было выделенно для различных данных (тоже Primary раздел), сначала это был просто раздел с FAT32, но чуть позже это стало разделом <tt>/home</tt>, зашифрованным twofish256 (Хе . К сожалению, скриншот, который сразу бы все прояснил, в этом случае делать уже поздно.
<span style='float: right; border:3'><a href='http://www.osrc.info/files/images/articles/partmagic/cfdisk.png'><img src='http://www.osrc.info/files/images/articles/partmagic/cfdisk-small.png' alt='cfdisk screenshot' title='Скриншот cfdisk'/></a></span>
Итак, раздел, который надо было сохранить, мы сохранили, переходим к <tt>cfdisk</tt>. Интерфейс cfdisk нагляден и прост (скриншот сделан уже после разбиения - да, вот такой бардак творится сейчас на моем винчестере , в нем сразу же видно, кто есть кто, и что с этим можно делать. Стрелочками вверх-вниз перемещаемся по разделам, вправо-влево по доступным действиям. Нашли необходимое - нажали Enter. Далее по обстоятельствам, например, при создании нового раздела вас спросят сначала о типе раздела, а потом и сколько места ему выделить.

Думаю, что общение с этой замечательной утилитой не должно вызывать трудностей - удалить раздел можно через Delete, создать через Create, все просто. Главное - после того, как вы приведете таблицу разделов к желаемому виду, записать изменения с помощью Write. Дабы уберечь вас от ошибок он еще раз переспросит, хотите ли вы записать таблицу разделов и, если вы согласны, то смело впечатывайте "yes". В моем случае, я удалил первый логический раздел (то есть два логический раздела, если посмотреть с другой стороны), удалил первый Primary раздел и привел таблицу к тому виду, что вы видите на скриншоте. Вообще-то, после переноса <tt>/home</tt> на отдельный раздел я уже опять не удовлетворен текущим положением дел, но пока что повторять процедуру переразбиения желания нет - других забот хватает.

индекс статьи
страница 1 : страница без заголовка
страница 2 - текущая : страница без заголовка
страница 3 : страница без заголовка


© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.