中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
linux 調(diào)整根分區(qū)大小方法(非LVM)

Linux 

調(diào)整根分區(qū)大?。ǚ?/p>

LVM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

     

2016.7.24 by flb

 

 

 

起因:因一個(gè)項(xiàng)目需求,需在線將

ubuntu

系統(tǒng)刷成

openwrt x86

。

30G

的磁盤升級成

openwrt

后,只用了

50M

左右。固需將其根目錄掛載的分區(qū)進(jìn)行擴(kuò)容。因?yàn)椴荒苁褂?/p>

live CD

之類的工具(

gparted

),固有以下文章。

 

 

配置:

Linux version 3.2.0-72-generic (buildd@toyol) (gcc version 

4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) 

 

本文主要完成兩個(gè)工作:

 

 

1

、將

ubuntu

系統(tǒng)刷成

openwrt x86

。

 

 

2

、擴(kuò)大磁盤的容量。

 

 

一、刷成

openwrt x86

有兩種方法。

 

1

)簡易部署

 

使用

U

盤啟動(dòng),將

combined.img

直接

dd

到目標(biāo)盤。

 

gunzip

 

bin/x86/openwrt-x86-generic-combined-ext4.img.gz  

dd

 

if

=bin/x86/openwrt-x86-generic-combined-ext4.img of=/dev/sdb 

#

根據(jù)自己情況選擇磁盤

 

 

2

)自定義部署

 

a

、建立分區(qū)、文件系統(tǒng)。

 

b

、用

dd

rootfs.ext4.img

寫入分區(qū)。

 

c

、復(fù)制

vmlinuz

到分區(qū)。

 

d

、修改

grub

文件,使其使用該

vmlinuz

加載內(nèi)核。

 

e

、啟動(dòng)。

 

 

二、調(diào)整根分區(qū)磁盤容量。

 

 

基本思路:我們知道,我們不能調(diào)整

mount

的分區(qū),也不可能

umount

根分區(qū)。固最

簡單調(diào)整磁盤容易的方法就是使用

live CD

U

盤啟動(dòng)后使用

Gparted

工具。或者進(jìn)入

rescue 

模式,然后使用

fdisk

resize2fs

這兩個(gè)命令就可以輕松搞定。但以上都不

符合我的情況。

 

 

查資料方法大概有兩種

 

1

、使用

pivot_root 

,

umount 

掉根目錄;然后對其操作。具體方法參加:

http://unix.stackexchange.com/questions/226872/how-to-shrink-root-

filesystem-without-booting-a-livecd/227318#227318 (

本人未成功

 

2

、既然不能操作已

mount

的根目錄;故只能在未

mount

根目錄時(shí)對分區(qū)進(jìn)行操作。

我們知道

linux

啟動(dòng)流程:

BIOS

加電-

>

啟動(dòng)

grub

引導(dǎo)程序

->grub

解壓內(nèi)核,加載

initrd->

initrd

環(huán)境中運(yùn)行

->

掛載根文件系統(tǒng)并切換。

可知系統(tǒng)在

initrd

環(huán)境中

運(yùn)行使用的是虛擬文件系統(tǒng),因此可在其掛載根文件系統(tǒng)前調(diào)整根分區(qū)的容量。

 

關(guān)于

initrd

的相關(guān)知識可參考:

http://www.lijiaocn.com/blog/2014/02/20/CentOS-

initrd%E5%88%86%E6%9E%90.html 

此處不再重述。

 

 

三、具體方法

 

1

、將

initrd.img

文件解壓。

 

2

、解壓后的目錄結(jié)構(gòu)如下:

 

 

3

、

initrd

環(huán)境中沒有

fdisk

、

resize2fs

、

e2fsck

命令,所以需將這三個(gè)命令拷貝到

bin

目錄中,并用

ldd

查看相關(guān)聯(lián)的庫文件是否都存在(我所用的系統(tǒng)都含用相關(guān)的

庫)。

 

3

、掛載根目錄的操作是

init

里的調(diào)用

mountroot

函數(shù)(/

scripts/local

里);我

們修改

local

里的代碼。

 

disk=sda2

 

 

說明:使用用

fdisk 

將要擴(kuò)展的分區(qū)刪除(記住起始點(diǎn)),再重新新建。然后

e2fsck

查磁盤,再使用

resize2fs

即可;若是縮小分區(qū)容量,則先

resize2fs

fdisk

。

 

4

、修改完成將

initrd.img

重新打包壓縮。

 

 

5

、修改

grub

引導(dǎo),使其使用該

initrd.img

啟動(dòng)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

參考資料:

 

1

How to shrink root filesystem without booting a livecd

 

2

CentOS-initrd

分析

 

3

Howto shrink a remote root ext3 filesystem on Debian wheezy

 

4)

Linux2.6 

內(nèi)核的

 Initrd 

機(jī)制解析

 

 

附兩個(gè)腳本:

 

1

、

upgradePkg.sh 

#!/bin/bash 

 

echo "Start to modify the initrd file....." 

mkdir ./initrdTmp 

initrdName=`ls /boot | grep initrd.img-` 

cp /boot/$initrdName ./initrdTmp/$initrdName.gz 

gunzip ./initrdTmp/$initrdName.gz  

cd ./initrdTmp 

cpio -i -d < ./$initrdName 

rm -f ./$initrdName 

cp ../openwrt-x86-generic-combined-ext4.img ./ 

#copy fdisk e2fsck resize2fs 

cp /sbin/fdisk ./bin 

cp /sbin/e2fsck ./bin 

cp /sbin/resize2fs ./bin 

 

#cp resize.sh to /scripts 

cp ../resize.sh ./scripts 

chmod +x ./scripts/resize.sh 

 

sed '/Mount root/i\. /scripts/resize.sh' ./scripts/local > ./scripts/local.tmp 

mv ./scripts/local.tmp ./scripts/local 

 

echo "Start to gzip the initrd file....." 

find ./ | cpio -H newc -o | gzip -v -9 >/boot/$initrdName.tmp 

mv /boot/$initrdName.tmp /boot/$initrdName 

echo "Finish the initrd flie , will be reboot....." 

reboot 

 

2

、

resize.sh 

#!/bin/bash 

######################### 

#1

、通過

dd

命令將

openwrt

鏡像寫入

sda

磁盤

 

#2

fdisk 

修改

sda2

(根目錄)的分區(qū)

 

#3

、

resize2fs

擴(kuò)大

sda2

的大小

 

######################### 

disk="sda2" 

echo "Start to write openwrt image(/dev/sda) with dd......" 

dd if=/openwrt-x86-generic-combined-ext4.img of=/dev/sda 

 

part2_start=`fdisk -l /dev/sda | grep $disk | awk '{print $2}'` 

echo "Start toextend partion2 from $part2_start to end ....." 

/bin/fdisk /dev/sda << __EOF__ >> /dev/null 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
openwrt 自動(dòng)掛載U盤、移動(dòng)硬盤
路由器OpenWrt如何脫機(jī)(離線)下載BT文件
[Openwrt 項(xiàng)目開發(fā)筆記]:USB掛載& U盤啟動(dòng)(三)
如何調(diào)整Linux磁盤分區(qū)的大小
VirtualBox centos7擴(kuò)容
教你怎么制作Linux U盤啟動(dòng)盤
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服