虚拟机安装android-x86

1.下载

https://osdn.net/projects/android-x86/releases

选择k49版本(kernel 4.9)

2.安装

默认安装,/system选择read/write

3.虚拟机设置

3.1 virtualbox

1.CPU 勾选虚拟化支持

2.显示选项:选择VboxSVGA,去除3D加速

3.2 vmware

vi /mnt/grub/menu.lst

replace quiet to nomodeset xforcevesa DPI=320

最后加上

vga=ask(ask可以替换为后来的分辨率代码)

 

 

 

4.安装houdini库

4.1 Android x86 Arm NativeBridge (libhoudini)

Houdini is an ARM translation layer for android developed by Intel and Google to run ARM apps on x86 architecture. The project is closed source and nowadays android x86 doesn’t have it pre-installed in the system. To enable ARM Native Bridge on android x86 you need to run the enable_nativebridge command from the terminal, which downloads the .sfs image file from the android x86 servers and runs the ARM activation commands according to your device architecture.

There are mainly 3 types of libhoudini used in android x86 :-

  • houdini_7_x = (x86 arm translation)
  • houdini_7_y = (x86_64 arm translation)
  • houdini_7_z = (x86_64 arm64 translation)

Houdini files are named according to their android version :-

  • Houdini_6 series = android 6.0
  • Houdini_7 series = android 7.0
  • Houdini_8 series = android 8.0
  • Houdini_9 series = android 9.0

Houdini_6 series can be used in android 7.1 as well and the Houdini_8 series can be used in Android 9.0, but a higher version of Houdini is not compatible with the lower version of android.

Download Links :-

Houdini_6 series

 

http://dl.android-x86.org/houdini/6_x/houdini.sfs
http://dl.android-x86.org/houdini/6_y/houdini.sfs
http://dl.android-x86.org/houdini/6_z/houdini.sfs

Houdini_7 series

 

http://dl.android-x86.org/houdini/7_x/houdini.sfs
http://dl.android-x86.org/houdini/7_y/houdini.sfs
http://dl.android-x86.org/houdini/7_z/houdini.sfs

Houdini_8 series

http://dl.android-x86.org/houdini/8_x/houdini.sfs
http://dl.android-x86.org/houdini/8_y/houdini.sfs

Houdini_9 series

http://dl.android-x86.org/houdini/9_y/houdini.sfs

How to manually install Arm Native Bridge in android x86

  • Download the required .sfs file from the above links.
  • Rename the file houdini.sfs to houdini7_y.sfs
  • Copy the houdini7_y.sfs file to /data/arm/ folder
  • Do the same for the z series if you want to run the arm64 app.
  • Press alt+f1 to open terminal & run the command enable_nativebridge.
  • if you don’t get any error msg then you’ve successfully activated ARM Native Bridge on your system.
  • Press alt+f7 to return to GUI & download any game/app to test libhoudini.

4.2 connetc adb

adb connect *.*.*.*:5555
adb push houdini.sfs /sdcard/

4.3 启用houdini库

:/sdcard # cp houdini.sfs /system/etc/houdini{version}_y.sfs
:/sdcard # cp houdini.sfs /system/etc/houdini{version}_z.sfs
:/sdcard # /system/bin/enable_nativebridge
:/sdcard # reboot

注:

1.{version}为对应android版本

2.android 8、9无houdini z.sfs

 

5.系统设置

进入系统,在设置->应用兼容性->兼容模式

启用兼容模式

 

6.相关快捷键

右ctr+h 电源

win   Home

menu  menu

alt+tab 任务切换

 

 

解除MS Office文档写保护

1.打开文档

2.另存为Word XML Document (*.xml)

3.使用文本编辑器打开保存的xml文件

4.搜索DoumentProtection字段

5.修改

方法一

将“DoumentProtection”改为“unDoumentProtection”

方法二

将w:enforcement=”1″ 或者 w:enforcement=”on”改为w:enforcement=”0″ or w:enforcement=”off”

6.用Office 打开修改后的xml文件,另存为word文档

 

 

How to force fsck to check filesystem after system reboot on Linux

原文:https://linuxconfig.org/how-to-force-fsck-to-check-filesystem-after-system-reboot-on-linux

This article will explain a procedure on how to force fsck to perform a filesystem check on the next system reboot or force filesystem check for any desired number of system reboots whether it is root or non-root mount point.

Let’s start with discussion about some tools which can be used to obtain filesystem information and configurations which control filesystem check after system reboot. The tool which we are going to discuss is tune2fs filesystem managing utility. Using tune2fs we can export some important information related to filesystem health check. The following linux command will tell as when was the last time the filesystem /dev/sdX was checked:

# tune2fs -l /dev/sdbX | grep Last\ c
Last checked:             Sun Dec 13 09:14:22 2015

Anther useful information which can be retrieved by tune2fs command relates to how many times our /dev/sdX filesystem was mounted:

# tune2fs -l /dev/sdbX | grep Mount
Mount count:              157

 

and lastly how many mounts are allowed to pass before filesystem check is forced:

# tune2fs -l /dev/sdbX | grep Max
Maximum mount count:      -1

From the above outputs we can establish the following information summary. The /dev/sdbX filesystem was last checked on Sun Dec 13 09:14:22 2015. Since the last check, this filesystem was mounted 157 times and maximum amount of mounts before next filesystem fsck check. In the above case the value -1 means that fsck is disabled.



Now, that we have learned about some tune2fs basics let’s discuss PASS system configuration option found in /etc/fstab file containing all on boot mountable partitions and their relevant mount options.

# blkid | grep sdb1
/dev/sdb1: UUID="c6e22f63-e63c-40ed-bf9b-bb4a10f2db66" TYPE="ext2"
# grep c6e22f63-e63c-40ed-bf9b-bb4a10f2db66 /etc/fstab
UUID=c6e22f63-e63c-40ed-bf9b-bb4a10f2db66 /mnt            ext2    errors=remount-ro 0      0

We have used blkid command to retrieve UUID for a given partition and then used the retrieved partition UUID to get a relevant information related to /dev/sdb1 partition from /etc/fstbab.
The last column that is a column 6, aka fsck PASS column is used by fsck to determine whether fsck should check filesystem before it is mounted and in which order given partitions in /etc/fstab should be checked. Possible entries for fstab PASS column are 0,1 and 2.

  1. 0 – disabled, that is do not check filesystem
  2. 1 – partition with this PASS value has a higher priority and is check first. This value is usually set to root / partition
  3. 2 – partitions with this PASS value will be checked last

The connection between fstab PASS value, last checked value and number of mounts value is as follows:
During the system boot the first value which is checked is fstab PASS value. If this value is 0 that not other values are checked ( exemption .. see “Force fsck for root partition” below ) and the fsck will NOT perform filesystem check. If the PASS value found in /etc/fstab is any other than 0, that is 1 or 2 then values of maximum mounts and total mounts are checked. If the value of maximum mounts is greater or equal to total number of mounts value then fsck’s filesytem check will be performed. Few examples:

FSCK DISABLED
fstab PASS: 1
Maximum mount count:      -1
Mount count:              157
----
FSCK DISABLED
fstab PASS: 0
Maximum mount count:      -1
Mount count:              157
----
FSCK ON NEXT REBOOT
fstab PASS: 1 or 2
Maximum mount count:      1
Mount count:              157
----
FSCK DISABLED
fstab PASS: 0
Maximum mount count:      1
Mount count:              1
----
FSCK ON NEXT REBOOT
fstab PASS: 1 or 2
Maximum mount count:      1
Mount count:              1
----
NO FSCK ON NEXT REBOOT
fstab PASS: 1 or 2
Maximum mount count:      200
Mount count:              157


Force fsck for root partition

The simplest way to force fsck filesystem check on a root partition eg. /dev/sda1 is to create an empty file called forcefsck in the partition’s root directory.

# touch /forcefsck

This empty file will temporarily override any other settings and force fsck to check the filesystem on the next system reboot. Once the filesystem is checked the forcefsck file will be removed thus next time you reboot your filesystem will NOT be checked again. To enable more permanent solution and force filesystem check on every reboot we need to manipulate filesystem’s “Maximum mount count” parameter. The following linux command will ensure that filesystem /dev/sdb1 is checked every time your Linux system reboots. Please note that for this to happen the fsck’s PASS value in /etc/fstab must be set to a positive integer as discussed above.

# tune2fs -c 1 /dev/sdb1

alternatively we can set fsck after every 10 reboots:

# tune2fs -c 10 /dev/sdb1

Force fsck for all other non-root partitions

As oppose to root partition creating empty forcefsck file will NOT trigger partition check on reboot. The only way to force fsck on all other non-root partitions is to manipulate filesystem’s “Maximum mount count” parameter and PASS value within /etc/fstab configuration file. To force filesystem check on non-root partition change fsck’s PASS value in /etc/fstab to value 2. For example:

UUID=c6e22f63-e63c-40ed-bf9b-bb4a10f2db66 /mnt            ext2    errors=remount-ro 0      2

and change maximum mounts filesystem parameter to a positive integer, depending on how many times you wish to allow a specified filesystem to be mounted without being checked. Force fsck on every reboot:

# tune2fs -c 1 /dev/sdb1

alternatively we can set fsck to check filesystem after every 5 reboots:

# tune2fs -c 5 /dev/sdb1

To disable fsck run:

# tune2fs -c 0 /dev/sdb1
OR
# tune2fs -c -1 /dev/sdb1

Which will set the filesystem’s “Maximum mount count” parameter to -1