热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ubuntu安装到移动硬盘&grubrescue问题解决

想好好折腾linux,选择ubuntu入手,但想到linux下配置啥的挺麻烦,装个系统最好能长久用下去,于是就将ubuntu安装到移动硬盘上,这样到哪都好用了.如何在ubu

想好好折腾linux, 选择ubuntu入手, 但想到linux下配置啥的挺麻烦, 装个系统最好能长久用下去, 于是就将ubuntu安装到移动硬盘上, 这样到哪都好用了.

如何在ubuntu安装到移动硬盘?

1. 首先制作一个u盘版的livecd. 这个可以用Fedora LiveUSB Creator, 兼容Ubuntu, 网址是https://fedorahosted.org/liveusb-creator/, 几分钟就搞定了
2. 选择从u盘启动, 进入livecd系统, 相当于体验版. 选择安装Ubuntu, 注意分区选择移动硬盘, 挂载点最简单的是根目录和swap, 其他按序挂载; 最后"安装启动引导器的设备"选择移动硬盘, 如sda, 而不是它的某个分区, 如sda1, 这样系统就可以从移动硬盘启动了.

只要简单两步就安装完成了, 同理如果把ubuntu安装到U盘上也是一样的.

------------昏割线----------------

装完后在自己电脑上成功启动, 但换个电脑就不行了. 按照对linux启动的了解, 启动的先后顺序是BIOS, MBR, BootLoader, OS. 已经系统的grub(GRand Unified Bootloader)安装到移动硬盘上了, 从移动硬盘启动时, MBR能直接识别Grub以启动系统, 在自己电脑上试验成功说明安装的确是成功的.

tips. 事实上, 这个版本系统是用UCloner克隆到移动硬盘上, 或许问题出在此.

在其他电脑上启动时, 无法启动grub, 而是进入了grub rescue, 显示信息为

error: unknown filesystems
grub rescue>

网上遇到这个问题多数是安装了windows+ubuntu双系统后, 在windows对磁盘重新分区导致的, 与我在移动硬盘上的ubuntu在别的电脑上运行类似, 疑问: 为什么grub启动跟其他磁盘或分区有关系呢?

bubuko.com,布布扣

一. 在grub rescue中通过ls查看磁盘和分区, 如果ls (hd0,6)/boot/grub显示信息, 说明(hd0,6)是安装/boot的分区, 可通过以下命令进入系统

set root=(hd0,6)
set prefix=(hd0,6)/boot/grub
insmod normal
normal
# after getting into ubuntu
sudo update-grub
sudo grub-install /dev/sda

但本人ls每个个分区都是出错, set命令显示的boot和prefix都是指向实际的‘/‘分区.

 

二. 继续搜索网上解决方法, 多是reinstalling GRUB from the LiveCD, 如下:

sudo mount /dev/sda4 /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sda
# sda4 is the / partition, so sda is the disk
# Back in Ubuntu
sudo update-grub

但本人试过这个方法, 没有成功.

 

三. 坚持不懈的搜索, 终于发现这句话:Some bioses have a maximum read capability of 137GB and will therefore not find boot files which are on the disc after that limit.

有些bios的读取磁盘能力有限, 只能读前137G大小的内容. 这才发现最初因为移动硬盘前面部分存了几百G的资料, 为省力直接在磁盘后面部分划分出空闲空间作为linux分区. 重新将linux安装到移动硬盘前面部分, 便可以到处启动啦, 真心坑爹啊!!

 

p.s. 下面是两个启动信息分析工具, 如有其它问题, 可以检测后, 贴到论坛让大牛们帮忙分析:

1. Boot-Repair: https://help.ubuntu.com/community/Boot-Info
2. Boot Info Script: http://bootinfoscript.sourceforge.net/



推荐阅读
  • 本文介绍了如何在 ASP.NET 中设置 Excel 单元格格式为文本,获取多个单元格区域并作为表头,以及进行单元格合并、赋值、格式设置等操作。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • LDAP服务器配置与管理
    本文介绍如何通过安装和配置SSSD服务来统一管理用户账户信息,并实现其他系统的登录调用。通过图形化交互界面配置LDAP服务器,确保用户账户信息的集中管理和安全访问。 ... [详细]
  • [c++基础]STL
    cppfig15_10.cppincludeincludeusingnamespacestd;templatevoidprintVector(constvector&integer ... [详细]
  • 自动验证时页面显示问题的解决方法
    在使用自动验证功能时,页面未能正确显示错误信息。通过使用 `dump($info->getError())` 可以帮助诊断和解决问题。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 网络爬虫的规范与限制
    本文探讨了网络爬虫引发的问题及其解决方案,重点介绍了Robots协议的作用和使用方法,旨在为网络爬虫的合理使用提供指导。 ... [详细]
  • 本文介绍了 AngularJS 中的 $compile 服务及其用法,通过示例代码展示了如何使用 $compile 动态编译和链接 HTML 元素。 ... [详细]
  • 数字资产量化交易通过大数据分析,以客观的方式制定交易决策,有效减少人为的主观判断和情绪影响。本文介绍了几种常见的数字资产量化交易策略,包括搬砖套利和趋势交易,并探讨了量化交易软件的开发前景。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 本文介绍了如何使用 CMD 批处理脚本进行文件操作,包括将指定目录下的 PHP 文件重命名为 HTML 文件,并将这些文件复制到另一个目录。 ... [详细]
  • 两个条件,组合控制#if($query_string~*modviewthread&t(&extra(.*)))?$)#{#set$itid$1;#rewrite^ ... [详细]
author-avatar
能然然520
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有