Следующая страница Предыдущая страница Содержание

4. Работа с файловыми системами, дисками и устройствами Linux

-------------------------------------------------------------------------------

4.1 Как я могу заставить Linux работать с моим винчестером?

Если ваш диск обладает интерфейсом IDE или EIDE, вам необходимо прочитать файл /usr/src/linux/drivers/block/README.ide (часть дистрибутива исходников ядра). Этот README содержит много полезных советов о дисках с IDE-интерфейсом. Многие контроллеры IDE-модемов осуществляют передачу данных между "физическими" и "логическими" наборами цилиндров/головок/секторов.

Доступ к SCSI-дискам осуществляется через номера линейных блоков. BIOS создаёт некий "логический" набор фиктивных цилиндров/головок/секторов для поддержки DOS.

IBM PC-совместимый BIOS обычно не в состоянии иметь доступ к разделам, которые выходят за предел 1024 логических цилиндров, и в лучшем случае сделает проблематичным загрузку ядра Linux с этих разделов, используя LILO.

Вы можете продолжать использовать такие разделы для Linux или других операционных систем, которые непосредственно обращаются к контроллеру.

Рекомендуется, чтобы вы создали, по крайней мере, один раздел Linux в пределах 1024 логических цилиндров и загружались с него. Тогда работа с другими разделами будет нормальной.

Похоже, что с более новыми дисками класса Ultra-DMA также есть ряд проблем. Я не достал исчерпывающей информации по ним - но они становятся очень схожей с инсталляторами SVLUG проблемой. Когда вы можете достать 8-12 гигабайтные винчестеры за 200-300$, это не должно вас удивлять.

[Джим Деннис]

-------------------------------------------------------------------------------

4.2 Как я могу восстановить удалённые файлы?

Вообще-то на Unix'ах это сделать очень трудно вследствие их многозадачности. Возможность восстановления удалённых данных для файловой системы ext2fs находится в процессе разработки, но не задерживайте дыхание.

Существует ряд пакетов программ, которые предлагают новые команды для удаления и копирования, помещающие удаляемые файлы в "мусорную корзину". Файлы могут быть восстановлены то того времени, пока они не будут автоматически удалены фоновым процессом.

С другой стороны вы можете произвести поиск физических данных* на винчестере с данной файловой системой. Это тяжёлая работа, и чтобы выполнить её, вам понадобятся права администратора.

-------------------------------------------------------------------------------

4.3 Есть ли программа для дефрагментирования ext2fs и т.п.?

Да. Есть defrag - дефрагментатор Linux для файловой системы ext2, Minix или файловых систем ext старого образца. Взяеть его можно здесь sunsite.unc.edu/pub/Linux/system/filesystems/defrag-0.70.tar.gz.

Пользователи файловой системы ext2 могут обойтись без defrag, потому что ext2 содержит в себе особый код, обеспечивающий низкий уровень фрагментирования даже в очень заполненных файловых системах.

-------------------------------------------------------------------------------

4.4 Как мне отформатировать дискету и создать на ней файловую систему?

Чтобы отформатировать 3.5-дюймовую дискету высокой плотности:


$ fdformat /dev/fd0H1440

$ mkfs -t ext2 -m 0 /dev/fd0H1440 1440

Для 5.25-дюймовой дискеты используйте fd0h1200 и 1200 соответственно. Для диска 'B' используйте fd1 вместо fd0.

Опция -m 0 сообщает mkfs.ext2 не резервировать никакого места для суперпользователя - обычно последние 10% резервируются для root'a.

Первая команда осуществляет низкоуровневое форматирование. Вторая создаёт пустую файловую систему. Вы можете примонтировать дискету как раздел жёсткого диска и просто копировать cp, переносить mv файлы и т.п.

Общепринятые наименования устройств в основном одинаковы для всех Unix'оидов. Они могут быть найдены в руководстве Мета Уэлша (Matt Welsh) Installation and Getting Started (см. "Где я могу найти HOWTO и другую документацию?"). Более подробным техническим описанием является документ Linux Allocated Devices Г. Питера Энвина (H. Peter Anvin, hpa@zytor.com), который включен в дистрибутив исходников ядра (скорее всего в /usr/src/kernel/Documentation) в виде файлов devices.tex и devices.txt в форматах LaTeX и ASCII.

-------------------------------------------------------------------------------

4.5 Я получаю "нехорошие" сообщения о inode'ах, block'ах и подобные им.

Возможно у вас повреждена файловая система вследствие некорректного завершения работы Linux перед выключением питания или аппаратной перезагрузкой. Для этого вы должны использовать одну из последних версий программ для завершения работы - например, одна из них включена в пакет util-linux, доступный на sunsite и tsx-11.

Если вам повезёт, то программа fsck (e2fck или xfsck соответственно, если у вас нет автоматической версии fsck) может быть в состоянии исправить вашу файловую систему. Если вам всё-таки не повезёт - файловая система разрушена, - вы должны будете   заново её инициализировать с помощью mkfs (или mke2fs, mkxfs и т.п.) и восстановить из резервной копии.

Примечание: не пытайтесь выполнить проверку файловой системы, примонтированной для чтения/записи - это же касается и корневого раздела, если вы не видите строку


   VFS: mounted root ... read-only

во время загрузки.

-------------------------------------------------------------------------------

4.6 Моя область swap не работает.

Когда вы загружаетесь (или активизируете swap вручную), вы должны увидеть


        Adding Swap: NNNNk swap-space

Если вы вообще не видите никаких сообщений, возможно у вас отсутствует строка


swapon -av 

(команда активизации swap) в вашем /etc/rc.local or /etc/rc.d/* (скрипты загрузки системы) или забыли добавить правильный параметр в /etc/fstab, например:


/dev/hda2       none       swap       sw

Если вы видите


Unable to find swap-space signature

значит вы забыли запустить программу mkswap. Подробнее смотрите в manual page, она работает подобно mkfs.

При запуске ('free' показывает свободную память) на экране должно появиться:


             total       used       free

Swap:        10188       2960       7228

[Энди Джефферсон (Andy Jefferson)]

Также загляните в Installation HOWTO для получения более детальных инструкций по настройке swap.

-------------------------------------------------------------------------------

4.7 Как мне удалить LILO, чтобы моя система снова загружала DOS?

Находясь в DOS'е (MS-DOS 5.0 или более поздние версии, или OS/2), наберите FDISK /MBR (недокументированная функция). Это восстановит стандартный загрузочный сектор MS-DOS на жёстком диске. Если у вас установлен DR-DOS 6.0, запустите FDISK в нормальном режиме и выберите опцию 'Re-write Master Boot Record'.

Если у вас нет MS-DOS или DR-DOS, вам понадобится загрузочный сектор, сохранённый LILO при первой установке. Вы не сохранили этот файл, не так ли? Возможно он называется boot.0301 или что-то вроде этого. Наберите


   dd if=boot.0301 of=/dev/hda bs=445 count=1

(или /dev/sda,  если вы используете SCSI-диск). Это также может стереть таблицу разметки вашего диска, поэтому будьте осторожны! Если вам нечего терять, вы можете использовать


   dd if=/dev/zero of=/dev/hda bs=512 count=1

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

Помните, что DOS'овский загрузочный сектор загружает любой (единственный!) раздел, отмеченный как 'active'. Вам может понадобиться использовать fdisk, чтобы установить или убрать флаги активизации разделов соответственно.

-------------------------------------------------------------------------------

4.8 Почему я не могу использовать fdformat без прав root'a?

Системный вызов форматирования дискеты может быть выполнен только root'ом, независимо от разрешений, установленных  на /dev/fd0*. Если вы хотите, чтобы любой пользователь мог форматировать дискеты, попробуйте найти программу fdformat2. Она работает без проблем с установкой root'овского идентификатора пользователя.

-------------------------------------------------------------------------------

4.9 Мои разделы ext2fs проверяются на наличие ошибок при каждой загрузке.

Смотрите "EXT2-fs: warning: mounting unchecked file system.".

-------------------------------------------------------------------------------

4.10 Моя корневая файловая система доступна только на чтение!

Перемонтируйте её. Если файл /etc/fstab корректен, вы можете просто


mount -n -o remount /

Если файл /etc/fstab неправильный, вы должны задать имя устройства и, возможно, его тип, например:


mount -n -o remount -t ext2 /dev/hda2 /

Чтобы понять, как это сделать, смотрите "EXT2-fs: warning: mounting unchecked file system.".

-------------------------------------------------------------------------------

4.11 У меня огромный файл /proc/kcore! Как я могу его удалить?

Ни один из файлов в директории /proc на самом деле там не существует - все они являются "ненастоящими" файлами, созданными ядром, чтобы получать информацию о системе, и не занимают никакого дискового пространства.

Директория /proc/kcore является подобием 'alias' для памяти в вашем компьютере. Её размер соответствует объёму вашей памяти, и если вы считываете её как файл, ядро считывает данные из памяти.

-------------------------------------------------------------------------------

4.12 Мой винчестер AHA1542C не работает с Linux.

Опция, обеспечивающая использование дисков с более, чем 1024 цилиндрами, требуется только в PC-совместимых BIOS и должна быть отключена для Linux. Для более ранних версий ядра Linux вам необходимо отключить большинство 'advanced'-опций BIOS - все до одной, сканирующих шину на наличие загрузочных устройств.


* Я называю это "разложить по байтикам" (прим. перев.)

Следующая страница Предыдущая страница Содержание