[题目] : 启程,尝试MacMINI装多系统
` 2014年0521
今天开始尝试在新入手的MacMini上装多两个系统,Win7 和 UbuntuSRV, Ubuntu 已经新出 14.04 了,希望能直接支持MacMINI的硬件驱动。
找了下 Ubuntu 官方资料, 里面提到过可以 OSX , vista , Ubuntu Desktop 三系统同装, 不知道把 vista 换成 Win7 行不行的通,好歹试过才死心。
开始装 Win7 时,由于最新版 bootcamp 只支持64位 Win7镜像,之前用的 机动战士二合一版本识别不了, 无奈下找了个真正64位的 Win7镜像来, 把里面根目录下的 autorun.inf setup.exe 和 bootmgr.efi 拷到镜像里保存(用UltraISOv8.6,开启超级还原模式),放 bootcamp 里一试,还真通过了 , 呵呵。
同样的思路,当我手头没有 CDR 光盘的时候,把 Ubuntu Server 的光盘通过上述方法,在里面拷贝了一个原版 .iso文件,扩张到1G,结果就可以使用手头的 DVD 盘来刻录了(记得打开超级还原模式,忽略了一个卷标名错误提示)
按照Ubuntu官网上的介绍,不适宜直接用 bootcamp 4.0以上分区,我采用了磁盘工具进行了分区,特意留了最大一份给 Win7(将近500G),把预留给Ubuntu的200G分区,保留到所有分区的最后。
因为我用的磁盘工具分区,所以 bootcamp 里直接安装 Win7 的选项总是灰的, 在创建完U盘启动盘,以及下载了适合本机的Windows驱动包后, 我就只能用那个启动盘来安装Win7了, 关机,一直按着 ALT 键(偶尔松一下,马上又按紧), 在启动选择里面,选中刚刚创建的 Win7 启动U盘,然后开启了安装流程。选中预留的那大块分区,重新格式化成 NTFS ,好了, Gooooo ~
根据已知的法子, 首先是 分区用以安装 Win7(就让它先占全部剩下的空间吧,没关系的,可以在Ubuntu安装的时候缩减它的尺寸的),在成功安装了 Win7 之后(顺手装上 Bootcamp for windows 吧,让 apple 的驱动都跑起来), Win7 启动是正常的, 这个时候, 我们在 Mac 操作系统里面加装 rEFIt 工具, 让我们可以自由选择启动(开源项目,参考:http://sourceforge.jp/projects/sfnet_refit )
装好了 rEFIt 之后, 我们如果不想用, 则跑 MAC 操作系统下,将根目录下的 efi 目录稍微改一下名就可以了(例如改成 rEFIt ),要想设置它的默认启动项: 则 vi 一下它里面的配置文件, /efi/refit/refit.conf , 配置默认启动倒数秒,以及默认选中的启动项(如,我选默认启动 3 )即可。
然后,就是不停歇地装操作系统,删掉分区重装, 再重装 ..... ~
执行了很多命令和 相关试作路径, 但都失败了, 隐约记得有执行过下面的一系列操作(都是网上搜来的)。
parted /dev/sda unit s print
parted /dev/sda set 5 bios_grub on
partprobe
parted /dev/sda unit s print
-----------
update-grub 命令 和 grub-install 命令, 有时候要强制,比如提示unknow filesystem 或 blocklist错误时,
grub-install --force /dev/sda5
(有时分不清执行带分区数字的命令 和 不带分区数字命令的 grub-install /dev/sda 有什么区别,猜测是直接写入硬盘的 MBR ?)
如果进入了 grub rescue 模式(注意,处理能力有限,打字要稍微慢一点)
输入 set 命令, 察看环境变量(主要看,root环境变量是不是指向目前活跃的linux分区,如 root=hd0,5 )
输入 ls 命令, 察看可以用的磁盘信息
在启动盘依然可用情况下,以下几句可以导入Linux引导menu
set root=hd0,5 ( 数字 5 是已知的用于启动linux的分区)
set prefix=(hd0,5)/boot/grub
insmod normal (默认的normal.mod 加载)
如果上面那句不行,请找出 normal.mod 的全路径执行,如下
insmod /boot/grub/i386-pc/normal.mod
加载成功后, 敲他的名字开始启动菜单
normal
————————————————
如果这样都还不行,则用最笨蛋的办法(你确信linux启动分区还可以用?)
(注意,下面长长的一串的文件名,可以用 TAB键自动补全)
set root=(hd0,5)
linux /boot/vmlinuz-3.8.0-16-generic ro text root=/dev/sda5
initrd /boot/initrd.img-3.8.0-16-generic
boot
最后执行 boot 命令 , 也可以看到我们熟悉的启动菜单了 。。。
要怪就怪我知识不扎实。最后,在重装了 N 多次 操作系统以后, 我终于觉醒了, 最后一次, 我先安装了 Win7,64位版, 然后再准备安装 Ubuntu Server
在安装 Ubuntu 前, 我发现在 rEFIt 启动界面里已经有了关于 Linux 的启动项(大概是我从前曾经执行过 grub-install /dev/sda 不带分区号的命令吧,把启动分区信息直接写入了硬盘的MBR里头了)
这样,我首先尝试启动这个分区, 当然,, 那是不可能的事, 不过,我得以进入 grub 的 rescue 模式,在命令行下。
我执行了 set 命令查看环境参数, 发现这里提示默认竟然是选择 (hd0,gpt4) 分区作为linux的启动加载分区。
那我就干脆将就着, 在安装操作系统的时候, 估计把 linux 的分区定在 #4 号,然后加个 #5 号 swap 分区,这样就直接安装过了(忽略了没有boot分区的警告),当提示安装 grub 的时候, 我这一次没有选择 安装到 /dev/sda 而是强制指定了 /dev/sda4 。
安装完毕后, 启动! 果然如我所料, 终于成功了
安装Ubuntu完毕后,立马要做的事情,肯定是设置 apt 源了, 还有下面的一系列要做的事, 这里好做个记录。
● sudo passwd 一下,好让 root 有个密码,得以用于登陆;
● 配置 apt源,利用fstab启动自动加载 .iso ,好方便软件的安装(/etc/apt/sources.list);
加入这句 deb file:///etc/apt/DVDsource/ trusty main restricted 存盘退出后,执行 apt-get update
● 更新 网卡 interfaces 配置,在 auto 后追加 eth0 ,如 auto lo eth0 ,
然后文件末尾追加一句 iface eth0 inet dhcp 以及 下列 副网卡的配置(一卡双配置,同理也可以 3 set IP配置)
auto eth0:0
iface eth0:0 inet static
address 192.168.8.251
netmask 255.255.255.0
● 在 sysctl.conf 里面屏蔽 ipv6 的配置,新增 keepalive 的配置
# net.ipv4.ip_forward = 1
# net.ipv4.tcp_keepalive_time = 777
● 开启 samba 的配置,首先编辑 /etc/samba/smb.conf , 屏蔽掉 passdb backend = tdbsam 这一配置项,然后用 smbpasswd -a 来新增 samba 用户
为了让新版 samba 在共享目录里可以使用链接,在 [global] 节里面加入下面这几句
wide links = yes 和 unix extensions = no ,以及 follow symlinks = yes
● 修改 sshd 的默认配置,好让 root 用户得以登陆, 需要开启 PermitRootLogin yes
让转发隧道更好用(可在任意网络侦听),开启 GatewayPorts yes
想登陆是检查更少,速度加快: IgnoreRhosts yes | IgnoreUserKnownHosts yes 以及 UseDNS no
● 修改 ~/ 目录下的 .bashrc 和 .bash_profile ,让ssh 登陆后可以更好显示标题(putty用)
顺手在 /etc/profile 里追加产生 core 文件的配置 ulimit -c unlimited
(如果有下面这句,请注视掉 ulimit -S -c 0 > /dev/null 2>&1 详细请参照 http://blog.csdn.net/fengxinze/article/details/6800175)
● 安装mysql-server后,默认数据库不开远程访问,要把 my.cnf 里面改bind-address=0.0.0.0
同时用 mysql -p 从本地命令行进入数据库,执行 update mysql.user set Host='%' where Host='localhost' and User='root';
和 flush privileges; quit ,然后就执行一下 service mysql restart 即可。
● 要重新配置 启动菜单, 最好不要直接编辑 /boot/grub/grub.cfg ,因为这个文件是执行 update-grub 后生成的
最好是在 /etc/default 下,编辑 grub 配置文件,然后执行 update-grub 来生成。 经常用到的选项不过是 GRUB_DEFAULT=0 或者 GRUB_TIMEOUT=10 ;
————————————————
为了方便操控, 特意打开了 Mac OS X 10 的 ssh , 其实开启很简单, 直接在 系统偏好设置里面, 找 共享(share) -〉 然后 把 远程登录 钩选上就行了, 为了方便操作, 把 SMB 共享也打开开来。
在OS X 系统中,使用 sudo passwd root 的命令, 给 root 用户设置密码,然后就可以使用 root 用户远程登录了, 直接用 root 用户,操作还是方便不少的。
为验证 ssh端口已经开启,在命令行终端里输入 netstat -ant |grep 22 查看有没有 LISTEN, 如果要查共享目录,则 netstat -ant |grep 445 , 显示路由表也是这个命令,请输入 netstat -rn 。
默认的 sshd 服务安全验证比较多, 登录上去难免久一点, 来吧,动动手,编辑一下 vi /etc/sshd_config
主要是下面几个:
IgnoreUserKnownHosts yes
IgnoreRhosts yes
UsePAM yes
UseDNS no
不碍事的话,把下面几个也打开吧:
PasswordAuthentication yes
ChallengeResponseAuthentication no
X11Forwarding yes
GatewayPorts yes
其中,这最后一个参数的意思,是做端口转发的时候,能够把 0.0.0.0 上的监听也转发出去,, 可能不太常用到
————————————————
rEFIt 0.14 (开源项目,已停止更新了)
用于采用了英特尔芯片的Mac电脑的开机与维护菜单
http://refit.sourceforge.net (维护至0.14已经停止更新)
另外一个分支版本, rEFInd , 作者主页:http://www.rodsbooks.com/refind
Project下载页, http://sourceforge.net/projects/refind
目前最新版本 ver 0.81 (2014-5-27 : am 9:11)
注意,这一个版本,可以在 ubuntu 里面用 RPM 来安装,或 deb 来安装。