Вступление
Как известно, типичные РС-компьютеры собирают из весьма разношерстных компонентов — процессор от одного производителя, видеокарта от другого, звуковая карта от третьего. Темы про принтеры/сканеры/Wi-Fi адаптеры/TV-тюнеры просто кишат повсюду на форумах. Не добавляют оптимизма и вездесущие китайские производители, не особо-то стремящиеся к стандартизации. Перед операционной системой стоит непростая задача заставить работать согласованно все эти устройства.
Предлагаю вашему вниманию небольшой гайд по устранению типичных проблем в Linux.
По мотивам этого.
Восстановление загрузчика
Как правило, загрузчики Linux достаточно дружелюбны в отношении других ОС, и при установке обнаруживают присутствие соседей на других разделах. А вот Windows при установке нагло затирает MBR своим загрузчиком, и прощай, линукс.
Не стоит
grub-install /dev/sda
, где sda — имя вашего загрузочного HDD/SSD/флешки/дискеты :)Если загрузка длится бесконечно
Во времена господства Windows 9x при загрузке линукса по экрану пробегали десятки строк, и можно было определить, на чём именно загрузка стопорится. Сейчас в моду вошли Splash-затычки, и определить, почему ваш любимый Ubuntu загружается вот уже 40 минут, невозможно. Для того, что бы отключить сплеш, при загрузке нажмите Shift (или что там предлагает ваш дистрибутив), станьте курсором на первую строку, нажмите E, перейдите курсором к строке, начинающейся на kernel и снова нажмите E. Удалите параметры quiet и splash. Если загрузка стопорится сразу, рекомендуется в эту строку добавить noapic, эта опция скажет ядру не использовать APIC. Далее нажмите Enter и B для начала загрузки.
В SUSE достаточно ввести в опциях загрузки splash=0.
Ну вот, загрузка пошла.
Далее ждёте сообщение об ошибке, и гуглите её текст.
Что там у меня в жужжащей коробке?
Есть такие замечательные команды, как
lspci
и lsusb
, которые покажут, какими же устройствами начинена ваша PCI шина и USB порты соответственно. Вывод команды будет похож на такой:
Bus 001 Device 004: ID 03f0:2c17 Hewlett-Packard
Bus 004 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 002 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Что бы узнать побольше о конкретном устройстве, есть опции -s и -v:
sudo lspci -s 03:00.0 -v
sudo lsusb -s 001:004 -v
где непонятные символы 001:004 — адрес устройства из вывода команды lspci или lsusb.
Если вы испытываете страх при взгляде на мигающий курсор в терминале, то можно воспользоваться пакетом Hardinfo
Ох уж эти иксы
Довольно часто бывает, что после окончания начальной загрузки вы лицезреете чёрный экран. Что случилось? Возможно, слетел видеодрайвер. Разумеется, для не искушённого пользователя лучше воспользоваться драйверами из репозиториев. Для того, чтобы войти в ваш любимый Gnome или KDE для запуска менеджера пакетов, нажмите Ctrl-Alt-F1, и вы попадёте в терминал. Зайдите с правами рута, и заставьте ваш Xorg заюзать VESA драйвера: команда dpkg-reconfigure xserver-xorg для дебиана/убунту, yast2 для SUSE, а там выбираете VESA-совместимую видеокарту. Или nano /etc/X11/xorg.conf, ищете там слово intel, nvidia и подобное в секции Driver и меняете на vesa. Далее запускаем иксы: kdm или gdm или startxfce4 и т.д. (по вкусу). Если экран и дальше чёрный, прибиваете иксы с помощью Ctrl-Alt-Backspace и смотрите, где кошка зарыта: cat /var/log/Xorg.0.log | grep EE и гуглите текст ошибки.
Сеть
Для начала поговорим о беспроводной сети. Проверьте наличие сети с помощью команды ifconfig. Естественно, ваша точка доступа должна быть включена и настроена. Если в выводе команды отсутствует интерфейс, названный ath0 или wlan0, то нужно что-то делать. Есть такие замечательные драйвера, как madwifi. Инструкцию по установке можно найти там же. Если они не помогли, вам возможно поможет такая утилита, как NDISwrapper. Этот костыль позволит использовать виндовые драйвера для адаптеров беспроводной сети в линуксе.
sudo ndiswrapper -i /path/to/driver.inf
Потом загрузите модуль ndiswrapper: sudo modprobe -v ndiswrapper
Далее попробуем поднять сеть:
sudo ifconfig wlan0 up
sudo iwlist wlan0 scan
Если на первую команду система ругается вроде «Interface Doesn't Support Scanning», то вы неверно выбрали название интерфейса, или не тот драйвер. Вторая команда запустит поиск беспроводной сети.
Теперь о проводной сети. Допустим, что патчкорд вставлен в сетевую карту, и соответствующий интерфейс присутствует в выводе ifconfig'a. Далее будем говорить о случае получения интернета с помощью NAT по витой паре. Проверим наличие инета дедовским способом: ping %sitename%. Если система ругается вроде network is unreachable, то попробуем ещё так: ping %ip_of_site% — звоните вашему другу и просите сказать айпишник гугла ;) Если теперь пинг проходит, значит у вас не выставлен адрес DNS сервера. Делаете nano /etc/resolv.conf и пишете там строку вида nameserver %IP_of_dns_server%. Если ничего не помогает, возможно, что вы не заплатили за интернет.
В качестве эпилога
Запомните: работает — не трогай!