Отключаем automount для Linux партиций в Mac OS X (Mountain Lion)
В Mac OS X есть очень полезная функция — автомонтирование дисков в систему, об этом написано на куче сайтов. Однако бывают случаи, когда монтировать партиции не надо. Об этом написано тоже много, и я активно пользуюсь этим на хакинтоше с двойной загрузкой — Mac OS X и Windows. Настраивается все просто, проблем не возникало. По крайней мере до тех пор, пока у меня не возникла необходимость установить тестовый Linux на хакинтош с Mountain Lion 10.8.3.
Сама установка двойной системы проходит без сюрпризов, правда приходится слегка пошаманить, чтобы Linux появился в загрузочном меню Хамелеона. Вкратце — ставить надо либо на ext2, либо на ext3 (пишут что ext4 не поддерживается Хамелеоном), а потом насильно посадить GRUB на рутовую партицию Linux (сам он отачаянно сопротивляется и сообщает что это крайне нездоровая идея, так что используем grub-install c ключом —force).
После этого наш Хамелеон прекрасно грузит и Mac OS и Linux, но после загрузки в Mountain Lion выходит сообщение, что в системе обнаружен диск с неизвестной файловой системой и предлагает его инициализировать. И это раздражает, если честно:
Ну да ладно, можне отключить автомаунт, тем более диск с Linux видеть в Mac OS мне совсем не нужно.
Отключение происходит посредством изменений в файл /etc/fstab, пишем
UUID=<уникальный идентификатор диска> none <имя файловой системы> ro,noauto
Только собрался это сделать, тут меня ждал первый облом — UUID у диска с Linux не отображался, ни в консольных программах, ни в Disk Utility:
В то же время искомый UUID прекрасно отображался у разделов, которые Mac OS знакомы:
Ну ладно, нет UUID, буду использовать вместо него LABEL диска, система видела его как Untitled, а в утилитах диск отображался как disk2s1. Прописал в fstab сразу оба параметра, чтобы наверняка:
LABEL=Untitled none ext3 ro,noauto LABEL=disk2s1 none ext3 ro,noauto
Честно говоря, попробовал на авось, думал вдруг получится. Не получилось 🙂
Это все была предыстория, рабочего решения своей проблемы в сети не нашел, пришлось попозиться часик, и поэтому если кто столкнется с таким, вот вам порядок действий:
Для того, чтобы Mac OS не монтировала диски, нужно чтобы система знала файловую систему. Поэтому сначала учим нашего горного льва читать ext2/ext3. Для этого качаем бесплатный пакет Fuse for OS X (OSXFUSE) с их сайта: http://osxfuse.github.com/. При установке обязательно отметить третий параметр MacFUSE Compatibility Layer:
Второй компонент — Fuse-ext2, скачиваем отсюда: http://sourceforge.net/projects/fuse-ext2/
После этого Mac OS замечательно видит в режиме «только для чтения» фаловую систему ext2/ext3, и при загрузке уже не выходит предупреждение о незнакомом диске. Вроде бы то, что я хотел, да не совсем. Это была половина решения — система видела диск, ошибок не выводила, но при этом все программы знали об этом диске, он отображался в Finder, а я хотел сделать Linux невидимым для Mac OS.
А поэтому дальше мы перегружаемся в Linux и устанавливаем метку диска (volume label) нашей рутовой партиции:
sudo e2label /dev/<имя рутового диска linux> <метка тома>
Как оказалось, Linux вообще не присваивает никаких меток партициям, несмотря на то, что умеет это делать. После того, как я присвоил метку своему диску, вернулся в Mac OS, убрал свои предыдущие попытки и прописал такую строчку:
LABEL=ubuntu none fuse-ext2 ro,noauto
В данном случае ubuntu — это метка диска, которую я присвоил разделу с linux, none — точка монтирования, в нашем случае отказываемся от этого, fuse-ext2 — файловая система, поддержку которой мы с вами добавили, ro и noauto — режим Read Only и отказ от монтирования рездела.
После перезагрузки получил именно то, что хотел. Раздел ext3 присутствует в системе, Mac OS по поводу этого не ругается, диск не смонтирова, ну а если приспичит — всегда можно смонтировать через Disk utility.
Да, совсем забыл — редактировать fstab в Mac OS легче всего через Terminal коммандой:
sudo nano /etc/fstab
Добавить комментарий