如何让OpenwrtX86和win7双系统共存在一块硬盘
如何讓OpenwrtX86和win7雙系統共存在一塊硬盤
- 了解openwrtX86
- 平臺適用
- 為啥這樣做?
- WINDOWS和openwrt共存怎么做到
- 1. 先來看下grub.cfg
- 2.那么我們著手分區
- 3.克隆分區
- 4.溝通兩個世界
- 旁路由模式
- 結束
了解openwrtX86
使用openwrt 一段時間,都是的路由器上用,最近同學有需求,他探索出了X86電腦上的用法,也就是大家說的軟路由。在繼續下去以前,簡單說下,功能和目的。
平臺適用
X86,主要就是各種PC,筆記本,聽起來是上個時代的產品了,但是也相當普遍,在各種辦公學習網絡中十分常見。openwrt是一個linux內核的,路由器產品,也就是嵌入系統。但是linux發源于X86,所以天生能跑在PC X86平臺吧。
另外為了只是用openwrt的部分功能,而不影響正常工作,可以讓X86的它,運行于某個虛擬機里,如VMBOX,VMStation。還有hyper-v 。
但是本文的重點在于,單獨運行在一臺微型電腦,或者筆記本上。但是在需要 的時候可以切換回工作環境。
為啥這樣做?
節省一塊U盤的提升性能減少我丟失感危機的選擇
一般情況下,用某個IMG工具,balenaEtcher 或 win32diskimager可以把官網的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@ noinitrd1.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
假如出現副本的的內容顯示,那就找對地方了,你會驚喜一下。但是關鍵還在于 blkid給出的UUID。還有msdox(n)
下面
到這里也許可以依托于某個web窗口,還好操作些。比如假如你改了/etc/config/network.里面的IP在這里的操作也不難。可以在其他同網絡的電腦http://IP。選出固件所帶的TTY。在系統菜單里。以此執行上面的命令也行,不過還要執行關機重啟,換啟動項的事情。這樣也是不錯的。
保存退出后。來到了硬盤啟動選擇頁面,如果不出差錯,選擇NeoSmart Linux。隨著它咔咔渣渣作響的調試輸出,一路運行到底。你多按幾次回車。它可以響應請求了。。這種情況的不足是,你還有找到另一臺電腦或者手機,來使用它的服務。不過,你有自己的備選。可以找到WINDOWS。還節省,U盤,提升了性能。重要的學到了知識。雖然是無用的知識吧。
那么它能用來做什么。
旁路由模式
我還沒時間弄成功它呢,因為這種方式真是糟心,常常造成卡死,無響應。相關的問題你們自己解決吧。它可以做代理模式,這種模式是沒有問題的。 用的時候開,不用了也挺安靜的。具體見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
總結
以上是生活随笔為你收集整理的如何让OpenwrtX86和win7双系统共存在一块硬盘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一文搞懂大比例尺地形图测绘
- 下一篇: Win7下安装swoole具体步骤