matrix 15.12.2011 17:30
Talks! — Исправление гибернации в Win7 и Debian при dual boot'е на Grub2
Здравствуйте! Давайте знакомится, это мой первый пост, так что сильно не бейте, ребята.=) Все началось с того, что я заказал в штатах себе новый ноут: Lenovo ThinkPad E420(i5 2410, 6GB RAM, HDD 500GB 7200rpm, 9-cell battery - хватает часов на 6-7), по акции вышел мне в 680$ + 100$ доставка. Причем заказ и доставка доставили тоже не мало проблем, но пост не об этом. Естественным образом большинство ноутбуков поставляется с предустановленной Windows 7, и этот ноут не исключение.Я решил ее не сносить, а попробовать плавно перейти на nix совсем(на самом деле это не первый мой опыт, с никсами я давненько знаком). Для установки выбрал Debian testing(wheezy), скачал netinstall и понеслось... В общем среду я настроил более или менее, выбрал KDE, я ее больше всего люблю за ее гибкость. Для тех, кто считает кеды тяжелые - соглашусь, на нетбуке у меня крутится Debian с Openbox'ом. Однако, все же разработчикам я не советую выбирать Debian по одной простой причине, что пакеты даже в тестинге достаточно старые, и в репозитории нет, например, svn 1.7, собирать только ручками, для чего нужно компилить некоторые зависимые пакеты и библиотеки. Странно также мне показалось то, что Netbeans 7 не захотел открывать мои старые проекты(под оффтопиком - норм, проекты создавались вообще под 6 версией).
Изначально по совету своего товарища, старого линуксоида, под своп я выделил всего 1GB, что было несомненно ошибкой. Для меня крайне удобен режим гибернации, ибо ноут используется как на рабочем месте, так и дома, и, соответственно, приходиться частенько его таскать, и хотелось бы без угрозы потерять что-либо по причине севшей батарейки. Так вот, режим гибернации естественным образом не захотел работать, ибо размер свопа должен быть не меньше занятого объема оперативки в момент ухода в гибернацию(о чем я тоже догадался далеко не сразу, копал в сторону конфигов pm-utils и ошибся).
Данную проблему пришлось решать загрузившись с флешки в PartedMagic(дистр nix заточенный для тестирования оборудования, а также для работы с диском), запустив GParted, входящий в комплект я чуточку подрезал виндовый диск и увеличил размер своп-диска до 4GB. Ура - гибернация заработала в штатном режиме. Несмотря на все положительные стороны, неудобства перевесили, и на данный момент меня можно назвать НеОсилятором, но я обещаю исправиться, в выходные попробую поставить что-нить с более свежим ядром и репозиторием. Переходим к оффтопику, да простят меня местные обитатели и духи.
Перейдя на оффтопик, я конечно же очень быстро обнаружил, что режим гибернации перестал работать и в Win7, чему был несказанно удивлен. В сети достаточно много вопросов и ответов по этой теме, но мне ничего не помогало, однако, все сходились во мнении, что дело во флаге boot для системного раздела Win, а точнее в его отсутствии, так как он само собой был перенесен при установке nix на /. В конечном итоге был откопан в пучинах паутины совет, что нужно добавить в файл /etc/grub.d/30_os-prober следующую строку: parttool hd0,msdos1 boot+. hd0,msdos1 - в данном случае имя партиции на которой лежит системный раздел оффтопика. После чего выполнить из-под рута update-grub, который перепишет файлик /boot/grub/grub.conf, но мне это не помогло, grub.conf не изменился не на толику, пришлось городить костыль и прописывать parttool (hd0,msdos1) boot+ в него напрямую, последней строкой в командах выполняющихся при выборе Win7 loader'а(!!! не последняя строка файла).
По итогам этого изменения все заработало, так что пока что я хоть и на оффтопике, но с полноценно работающим окружением. Но это, как я и обещал, только на время, скорее всего до выходных. Всем спасибо за внимание!
UPD.: Чтобы не городить костыль и не прописывать напрямую в /boot/grub/grub.conf, пришлось дописать после строки "chainloader +1" в файле /etc/grub.d/30_os-prober.
Следует учесть, что при этом данная строка добавится для каждой загрузочной записи Win. Поэтому надо быть внимательным, если у вас больше чем одна установленная Windows. После внесенных модификаций выполнить, как и было указано выше: update-grub или update-grub2 - они делают одно и тоже(выяснено опытным путем, если только у вас не установлен одновременно, и grub, и grub2).
exelens 16.12.2011 02:08 #
+ 0 -
Не понял куда перенести пост изложенный в таком стиле.
Просто у нас или полезности - идут в соотвествующие разделы. Или болтовня =) Она идёт в талкс. А тут мне даже не разделить.
Пиши ещё
Пиши ещё
На самом деле пост о 2х успешно решенных проблемах, + в комментах завелась поправочка, после проверки которой я, возможно, допишу апдейт маленький, если сработает. Ну а без вступления как-то сложно было первый раз писать, а городить отдельный пост, чтобы представиться, я посчитал лишним.
выполнить из-под рута update-grub, который перепишет файлик /boot/grub/grub.conf, но мне это не помогло, grub.conf не изменился не на толику
update-grub2, не?
пришлось городить костыль и прописывать parttool (hd0,msdos1) boot+ в него напрямую
Но так нельзя делать даже под страхом смерти!
я хоть и на оффтопике, но с полноценно работающим окружением. Но это, как я и обещал, только на время, скорее всего до выходных
Да не нервничай так. Нам какбы всё равно. Тут все очень нефанатичные.
хехехе
А по теме - я тоже бился головой об свою первую федору с дуалбутной виндой на ноутбуке. Но там своп у меня был даже чуть больше, чем оперативка. А засыпать оно не хотело из-за совместимости чтоли. Я тогда был молод и малоопытен, ковыряться долго не стал. Проблема решилась установкой чудодейственного патча TuxOnIce на ядро, который делает гибернацию реально быстрой (около 10 секунд с 1Гб оперативы) (а то на интел атоме "пробуждение" после гибернации у меня было чуть не дольше, чем "чистая" загрузка). Потом я обнаружил, что у меня семерка перестала уходить в гибернацию. Это, в свою очередь, решилось играми с parted. Оказывается, винда не будет уходить в гибернацию, если установлена не на основном (primary) разделе. Такие дела.
Спасибо за подсказки с update-grub2, попробую, и как оговорил выше, если сработает, допишу апдейтик в пост.
> Тут все очень нефанатичные
дада, я тут самый нефанатичный, клянусь святым Джобсом
дада, я тут самый нефанатичный, клянусь святым Джобсом
update-grub2, не?
Оказалось монописуально какую команду выполнять, что update-grub и update-grub2 делают одно и тоже, по крайней мере тогда, когда стоит один только grub2.
по мне так пост отличный. изложен великолепно. вам бы книжки писать. читалось легко, и что ещё важнее было интересно. спасибо.
Спасибо за комплимент, я вообще поместить его никуда не мог(карма?), он был в моих персональных, товарищ exelens рассудил, что место ему именно в толксах.
>>карма?
Не хабр же :)
Нужно вступить в блог, что бы в него постить.
Не хабр же :)
Нужно вступить в блог, что бы в него постить.
Интересно. У меня та же проблема с оффтопиком и такие действия не помогли:(. но на ноуте не Debian, а недоubuntu со шкурками - ZorinOS (не смейтесь - так получилось, а сейчас не до того, чтобы снести) - может там не только морда, но и груб покалеченный. При дописывании в 30_os-prober parttool (hd0,msdos1) boot+ строка в grub.cfg появляется, но только немного не там - в параграфе для скрытого раздела
Процитируй фрагмент grub.cfg, отвечающий за все оффтопики, посмотрю, может подскажу чего.
ну, во-1ых, попробуй все таки порядок команд поставить кака в статье, строка с parttool должна быть после chainloader +1, во-2ых, раз уж диски у тебя поименованы /dev/sda,msdosX, то и запись нужно откорректировать и строка в твоем случае должна выглядеть, насколько я понимаю: "parttool (/dev/sda,msdos2) boot+".(без кавычек). На истинность в последней инстанции не претендую, но рассуждаю логически.
Перемещение не помогло, а переименование не нравится - при выборе загрузки оффтопа пишет ругань мол не знает такого, хотя загрузка потом идёт. может ещё и у оффтопа обычные траблы.