#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the ‘exec tail’ line above.
menuentry “Install new OS” {
search -f /new_os.iso -s
loopback loop /new_os.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/new_os.iso
initrd (loop)/casper/initrd.lz
}
最近linux Deepin更新到11.12了,基于对deepin的信任,我决定把在用的linux Deepin11.06更新一下。
deepin说必须全新安装来更新。
那就是必须下载镜像,不过我不愿意刻盘安装,最喜欢硬盘安装,又快又便捷。
网上一找,大部分都是在windows平台下安装linux。我可不愿意。
OK,研究如何在linux Deepin下安装新的linux Deepin。
最终方法如下:
1. 将linux deepin的iso文件重命名为new_os.iso放在某个分区的根目录。(一定要放在分区根目录下)
比如放在:/
2.在/etc/grub.d/40_custom文件最后面添加
menuentry “Install new OS” {
search -f /new_os.iso -s
loopback loop /new_os.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/new_os.iso
initrd (loop)/casper/initrd.lz
}
然后sudo update-grub。这样可以生成grub.cfg,重启后就可以在启动菜单中发现新的Install new OS菜单了。
3. 重启,在grub的系统选择界面选择Install new OS,这样就进入了iso里的系统。
4.进入系统后,运行命令sudo umount -l /isodevice来卸载iso文件
5. 双击桌面上的安装系统图标,就可以安装新的系统了。
注意:以上是基于以下条件:
1.系统镜像是live CD(即无需安装就能体验操作系统的CD,基于ubuntu的系统都是此类型)
2.系统上使用的grub是grub2.(grub1就不介绍了,grub1网上有很多的介绍,且ubuntu目前都是使用grub2的)
3.内存大于iso文件
附:
我的 /etc/grub.d/40_custom(如果你没有这个文件,说明你装的不是grub2)
################开始###################
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the ‘exec tail’ line above.
menuentry “Install new OS” {
search -f /new_os.iso -s
loopback loop /new_os.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/new_os.iso
initrd (loop)/casper/initrd.lz
}
###############结束####################
命令详解:
menuentry “Install new OS” { 菜单名称
search -f /new_os.iso -s 搜索new_os.iso在所有分区的根目录下,搜索到后将分区设为root目录
loopback loop /new_os.iso 将new_os.iso加载到内存
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/new_os.iso
initrd (loop)/casper/initrd.lz
}
sudo update-grub 根据 /etc/grub.d/下的文件生成grub.cfg,grub.cfg是真正用于grub显示的配置文件。