2016年5月15日 星期日

重建被windows吃掉的grub

沒想到除了一開始在安裝系統的時候,要小心windows把ubuntu吃掉,連更新都要小心!!!!

事件的起源是星期五,下班關機想說丟著給windows自己慢慢更新
案發時間是星期一早上,打開我的電腦正準備開始實踐經過一個週末思慮的想法!
欸!?怎麼開機就直接到windows了?我的開機選單呢QQ
ubuntu被吃掉了!!!

總之省略了崩潰的過程
找了許多方法,也想到大學時期曾經犯蠢,先裝了ubuntu後來再裝windows的悲劇
試試看舊方法把ubuntu找回來吧~只是grub被藏起來而已liveUSB插下去,打個安裝grub的指令就好了OwO
麻...事情總是沒有我想的那麼簡單((大哭
總之方向是對了,但是事情更嚴重QAQ
還好有boss大大的全力相助阿!!!

--------------------------------------------------------------------------------------------------

首先進到liveUSB的試用模式之後安裝一下efibootmgr
 sudo apt-get install efibootmgr

轉為root權限比較好操作
sudo -i

1. 用GParted查一下efi還有根目錄所在的分割區
我的efi是在sda2而根目錄是在sda6

2. 將系統mount起來
mkdir mnt
mount /dev/sda6 mnt
cd mnt
mount /dev/sda2 boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

 將root換到mnt下
sudo chroot /mnt

3.重新安裝efi (不確定是不是必要,當下做了這一步)
apt-get install --reinstall grub-efi

4.以前只有掛跟目錄到mnt就可以下這一個指令,然後就順利完成了,不過這次要多弄上面的一坨東西,好像是因為root轉移系統結構不太一樣造成的,讓我直接下這個指令會出現找不到一些目錄,手動設了之後雖然目錄都可以找到了,但是執行卻gg,總之只要下這樣乾淨整潔的指令就可以了

grub-install /dev/sda


5. 更新
update-grub

6.重開機


--------------------------------------------------
中間有段下錯指令修正的部份沒有紀錄到,不知道下了什麼指令出錯了,後來boos又叫我打了一些指令,不過過程中一直重開機,所以也許問題要更複雜...liveUSB下的指令可以找到history嗎?在已經多次重開機之後@"@






2015年9月14日 星期一

eclipse+python2.7+RSE

總之就是因為工作上需要,所以紀錄一下安裝的過程

免得忘記該怎麼辦以後GG>"<

1.
eclipse官網 https://eclipse.org/downloads/

eclipse安裝直接下載之後裝好沒問題,簡單容易沒有遇到任何困難

就是要記得去裝JDK就是了

2.
python官網 https://www.python.org/downloads/

python的部分也是直接去官網抓安裝之後測試沒問題即可

環境變數要手動設,因為我的python是2.7地所以資料夾名字是27

這邊要隨著版本變動還有安裝路徑不一樣也會變

C:\Python27;C:\Python27\Tools\Scripts

3.
要把python加到eclipse讓他們倆個相遇結合(!?)
就要在eclipse上加入pydev

Eclipse > Help > Install New software

name: Pydev

url: http://pydev.org/updates


4.
接著設定python的位置,讓eclipse可以去知道(夜襲)python的所在

Eclipse > Window  > Preferences 會跳出一個視窗 找 Pydev > Interpreter - Python 有可能python寫在前面

New 之後寫上python.exe的位置然後ok

跳出相關要裝的東西

5.
無腦安裝之後就能夠在eclipse上面開個新project測試看看ok了嗎

File > New > Other... > Pydev Project

記得Create default 'src' folder add it to the pythonpath要打勾

建好project之後,對project點右鍵 New > Pydev Package

就可以測試是不是ok了

Run As > Python Run 看結果

6.
因為要連線到linux系統,藉由SSH遠端連線

要安裝Remote System Explorer的插件

*******************************
後來發現我用的Mars版本內建好了RSE了,
勾起來裝的那些東西可以不用裝
RSE具面可以直接找出來用
不過還是要設定直連,不要經過Proxy,
這部分應該是特殊要求,不是每一台電腦都需要
*******************************

由於我的eclipse是mars的版本,所以要到mars的releases的資料夾下載

Eclipse > Help > Install New software

name: RSE

url: http://download.eclipse.org/releases/mars

搜尋列打上Remole

將Gerneral Purpose Tools裡面的東西都勾起來

安裝

如圖案下可以切到遠端介面


7.
確認安裝完畢之後

先按圖片左邊的按鈕

選擇SSH only

打上host的IP之後會要求輸入密碼

就設定好連線

不過仍有地方需要注意

當連線發生proxy錯誤的時候

需要選擇直接連線




8.
確認可以讀取與有權限修改遠端的資料就完成了喔~!!



2013年4月16日 星期二

libpcap 學習中(1)

第一支pcap程式



#include <stdio.h>
#include <pcap.h>

int main(int argc,char *argv[])
{
  char *dev , errbuf[PCAP_ERRBUF_SIZE];
  dev = pcap_lookupdev(errbuf);
  if(dev == NULL)
  {
    fprintf(stderr,"Couldn't find default device : %s\n",errbuf);
    return(2);
  }
  printf("Device : %s\n",dev);
  return(0);
}


編譯
gcc -o main main.c  -lpcap

執行
 sudo ./main

結果:





第二支pcap程式



#include<stdio.h>
#include<pcap.h>

int main (int argc,char*argv[])
{
  void printer()
  {
    printf("A packet is captured!\n");
    return;
  }

  char errbuff[PCAP_ERRBUF_SIZE];
  pcap_t *pd = pcap_open_live("eth1",68,0,1000,errbuff);
  //定義封包抓取(裝置名稱,封包抓取最大位元數,設置網路卡混雜模式,錯誤訊息)

  pcap_loop(pd,7,printer,NULL);
  //(封包抓取類型,循環次數,抓取封包後調用函式,指標可為NULL)
  pcap_close(pd);

  return 0;

}


編譯
gcc -o second second.c  -lpcap

執行
 sudo ./second

結果:



2012年7月22日 星期日

xencommons無法啟動

無法啟動無法啟動xencommons

出現下面訊息下面訊息下面訊息
libxenctrl.so.4.0: cannot open shared object file: No such file or directory
 
是因為無法找到libxenctrl.so.4.0 
所以要讓系統產生連結找到這個檔案
 
他有可能在
/usr/lib
/usr/lib32
/usr/lib64
/usr/local/lib
其中一個目錄中,找找看
 
之後打開ld.so.conf
 
加讓目錄位置之後存檔
使用指令使用指令 使用指令
sudo /sbin/ldconfig -v 
做更新
然後就修好了
 

2012年7月19日 星期四

ubuntu 11.10上安裝xen4.1.2(修)

直接make 一大堆錯誤需要安裝一大堆東西


其中 ACPI ASL compiler 要自己去網站下載原碼編譯安裝


安裝的方法跟普通有點不一樣


 http://acpica.org/downloads/


照著網站教學會發現錯誤


在 make 完compiler資料夾後需要把執行檔複製到usr/bin下面才能用


cp iasl /usr/local/bin


如果安裝有報撮要apt-get一些東西


sudo apt-get install flex


sudo apt-get install bison


 其他需要apt-get的東西


sudo apt-get install libz-dev


sudo apt-get install openssl libssl-dev


sudo apt-get install uuid-dev


sudo apt-get install libsdl1.2-dev


sudo apt-get install bin86


sudo  apt-get install bcc


sudo apt-get install gcc-multilib


sudo apt-get install python-dev


sudo apt-get install texinfo


sudo apt-get install gettext  

sudo apt-get install xfig


 sudo apt-get install build-essential
 sudo apt-get build-dep xen


都下載完之後

make xen


make tools


make stubdom


sudo make install-xen


sudo make install-tools


sudo make install-stubdom


make dist
 
sudo make install



以上xen安裝完

再來編譯xen 需要的kernel kernel

我用的是從kernel.org下載的3.2.23

參考文件

http://www.lancehendrix.com/techdocs/incubation/Xen4.1OnKernel3.2.html

http://wiki.xen.org/wiki/File:Building_and_Installing_Xen_4.x_and_Linux_Kernel_3.x_on_Ubuntu_and_Debian_Linux.pdf
http://wiki.xen.org/wiki/Compiling_Xen_From_Source



 make menuconfig

選項

Device Drivers --->

      Xen driver support --->

              全部*

[*] Networking support  --->
   Networking options  --->
      <*> 802.1d Ethernet Bridging







接下來

make

make modules_install

make install



修改grub
sudo update-grub

xencommons 設定開機啟動

sudo gedit /etc/rc.local

sudo /etc/init.d/xencommons start


將xen的模組設定開機載入
sudo gedit /etc/modules

xen-evtchn
xen-gntdev
xen-netback
xen-blkback
xenfs
blktap