如何让OpenwrtX86和win7双系统共存在一块硬盘

了解openwrtX86

使用openwrt 一段时间,都是的路由器上用,最近同学有需求,他探索出了X86电脑上的用法,也就是大家说的软路由。在继续下去以前,简单说下,功能和目的。

平台适用

X86,主要就是各种PC,笔记本,听起来是上个时代的产品了,但是也相当普遍,在各种办公学习网络中十分常见。openwrt是一个linux内核的,路由器产品,也就是嵌入系统。但是linux发源于X86,所以天生能跑在PC X86平台吧。
另外为了只是用openwrt的部分功能,而不影响正常工作,可以让X86的它,运行于某个虚拟机里,如VMBOXVMStation。还有hyper-v
但是本文的重点在于,单独运行在一台微型电脑,或者笔记本上。但是在需要 的时候可以切换回工作环境。

为啥这样做?

节省一块U盘的提升性能减少我丢失感危机的选择
一般情况下,用某个IMG工具,balenaEtcherwin32diskimager可以把官网的openwrtx86安装包全盘放入U盘或者硬盘。他们的大小在500M以下。 然后剩余的空间需要谨慎分区,搞不好会破坏了引导。
怎么办,分区的时候不要破坏分区表。起码不要让引导程序觉得被破坏了。普通BIOS,MBR分区来说,主流的官网做法,是分成两个区,一个是krenal.ext. 较小,存放grub的引导配置文件,核心,vmlinuz 。另个root存放系统所需的程序文件 。其实要验证有没有被破坏,或判定它们没有破坏的前提在于,boot/grub/grub.cfg。这个文件的内容保持正确识别。

WINDOWS和openwrt共存怎么做到

1. 先来看下grub.cfg

  
@SERIAL_CONFIG@
@TERMINAL_CONFIG@

set default="0"
set timeout="@TIMEOUT@"
set root='(hd0,msdos1)'

menuentry "OpenWrt" {
	linux /boot/vmlinuz   root= PARTUUID=********-****--**----*---    @CMDLINE@ noinitrd
}
menuentry "OpenWrt (failsafe)" {
	linux /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd

1.set root=’(hd0,msdos1)’ 这个定义boot启动的位置
2. root= PARTUUID=******-****–----*— 定义了root大分区的所在地
在克隆镜像的时候MSDOS1,已经确定了,UUID已经写好了。

2.那么我们着手分区

,将原有硬盘,也就是WINDOWS的安装盘,分出空余的500M空间,针对IMG做到的U盘的大小来分第一个引导小分区,我的是16M。还有剩余的大分区,我的是300M。手写容量,类型主分区,格式任意。我用的各种PE盘带着的diskgenu工具。可以调整大小,划分磁盘。

3.克隆分区

diskgenu有个方式可以加载IMG文件,但是不知道是不是起作用,我最后用的是U盘分区対刻。在某个工具菜单。分别让大小对应,一路克隆下去。

4.沟通两个世界

好像新建的分区和U盘是openwrt才能识别的
这就像两个世界,当我们进入windows系统,新生成的盘是不认的。另外,去所说的方式,可能目前只适用于MBR。若是工作在GPT模式下。可能要相应的借鉴修改。一切只为省一块U盘。可有可无的选择啊。呵呵了,可能还有性能提升。固态盘读写速度都高很多。
扯远了,继续说两个世界。
1.在WINDOWS世界,安装一个工具EasyBCD。或EasyUEFI。
我说前者,因为我用的MBR。在BCD,新建条目,操作系统选择Linux/BSD.类型GRUB2. 其他默认,驱动器让他自动定位加载吧。然后点下面的+。回去看引导菜单。多了一条。这就是它了。重启后可以选择它,找到了新分区的boot目录。然而一定会出现错误提示,文件格式不对,unkonwn。这时候可以选择按c,进入命令行,ls。列出所以磁盘。(hd0,msdos1)(hd0,msdos2)(hd0,msdos3)
然后不出意外,ls (hd0,msdos2)会显示刚才建立的分区,大小,标签 kernal。类型EXT。
这时如果 set root= hd0,msdos2.
normal. 运气好,回到选择菜单,回车,可能会看到加载成功的调试代码。然而好运不长,往里长征只走完了第一步。因为主目录,放着大量文件的大分区,还没找,这时如果找到了vmlinz。它就放在boot里。你的操作告诉了它的分区。那么接下来呢。
2.接下来,就要修改前面提到的grub.cfg了。这是openwrt启动U盘的登场时间
root@openwrt#
开机启动显示输入框。输入命令***blkid***。
列出了,副本他本尊的UUID信息。另外我们也知道了副本在windows心目中新的位置 msdos2,假设是2.要靠1来验证来着。接下来重要时刻来临。几下副本小分区的挂载点 mnt/sdb2

root@openwrt #blkid


root@openwrt #cat  /mnt/sdb2/boot/grub/grub.cfg

假如出现副本的的内容显示,那就找对地方了,你会惊喜一下。但是关键还在于 blkid给出的UUID。还有msdox(n)
下面

vi    /mnt/sdb2/boot/grub/grub.cfg

root@openwrt #blkid


root@openwrt #cat  /mnt/sdb2/boot/grub/grub.cfg

到这里也许可以依托于某个web窗口,还好操作些。比如假如你改了/etc/config/network.里面的IP在这里的操作也不难。可以在其他同网络的电脑http://IP。选出固件所带的TTY。在系统菜单里。以此执行上面的命令也行,不过还要执行关机重启,换启动项的事情。这样也是不错的。
保存退出后。来到了硬盘启动选择页面,如果不出差错,选择NeoSmart Linux。随着它咔咔渣渣作响的调试输出,一路运行到底。你多按几次回车。它可以响应请求了。。这种情况的不足是,你还有找到另一台电脑或者手机,来使用它的服务。不过,你有自己的备选。可以找到WINDOWS。还节省,U盘,提升了性能。重要的学到了知识。虽然是无用的知识吧。

root@openwrt #
root@openwrt #

那么它能用来做什么。

旁路由模式


我还没时间弄成功它呢,因为这种方式真是糟心,常常造成卡死,无响应。相关的问题你们自己解决吧。它可以做代理模式,这种模式是没有问题的。 用的时候开,不用了也挺安静的。具体见SSPlus+
代理怎么用,就是SOCK5啊。在自己网络上,其他设备能用的。代理倒是一次搞定,不过没什么意思了。
最好做个双网卡,另外加个USB。因为三天以后我人旁路由模式都是半死不活的状态。

结束

我使用了很多文章,地址都存在手机上,我把open的img放了一份在下载里,以后自己能用。去把借鉴的找出几个放在这里。有需要的拿去。

openwrt IMG
[1]: https://t.me/s/openwrt_By_lenyu
GRUB
[2]: https://blog.csdn.net/u012986684/article/details/79508694
关于openw文件系统的提示。文风真感人啊,也是启发较大人一篇
[3]: https://www.sgtfz.cn/2019/08/1846.html
为了学习BCD,好像被这人带偏了,最终也没用成功。,GRUB2,自动搜索好像管用。
[4]: https://blog.csdn.net/www_helloworld_com/article/details/84672165

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wjcroom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值