[Comm] Re: Проблемы Linux.
Denis Kirienko
=?iso-8859-1?q?Denis=2EKirienko_=CE=C1_gmail=2Ecom?=
Пн Дек 26 20:00:23 MSK 2005
FreeWolle Voluntary wrote:
> Проблемы Linux.
Это - не проблемы Linux. А вот мэйлер у вас действительно ужасный и
проблемный.
> Посоветуйте, какой модуль из стандартно доступных в Linux надо подключать для получения абсолютного доступа к диску, например, через
BIOS, ведь в DOS это просто - в Turbo-C v2.01 просто поставил строчку
#include <bios.h> и затем с помощью функции biosdisk можно вытворять с
дисками даже самые нелепые вещи, например
Не поверите - этот файл называется stdio.h! Почитайте какую-нибудь
литературу по поводу псевдофайлов, связанных с устройствами, лежащими в
каталоге /dev. Так вот, чтобы получить полный доступ к первому жесткому
диску в системе необходимо открыть псевдофайл /dev/hda, чтобы получить
доступ к первому разделу первого жесткого диска - псевдофайл /dev/hda1.
Просто работаете с ними, как с файлами, и никакой нестандартный bios.h
не нужен.
> Такую программу я запускаю каждый раз из загружаемого CD-RW с FreeDOS, когда приходит конец файловой системе Linux и перед каждой переустановкой системы, а ведь куда удобней запускать эту програмку, скомпилированную под Linux в режиме root после Su с паролем. ;)
Вам что нужно, заполнить раздел нулями? Для этого и программу писать не
надо. Например, необходимо обнулить раздел /dev/hda1. Что мы знаем?
1. Есть псевдофайл /dev/hda1, связанный с этим разделом.
2. Есть утилита dd, которая копирует информацию из одного файла в другой.
3. Есть псевдофайл /dev/zero, из которого можно до бесконечности читать
нулевую последовательность байт.
А теперь нужно объединить все это вместе, заставив dd читать данные из
/dev/zero и писать в /dev/hda1:
# dd if=/dev/zero of=/dev/hda1
Это и называется UNIX-way. Конструирование из простых программ и простых
вещей нужного вам решения сложной проблемы.
--
Денис
Подробная информация о списке рассылки community